#include using namespace std; #define eps (1e-9) double a[520][520],ans[520]; int id[10][310],len[520],t,tt; char s[110]; inline int rd() { int x=0;char ch=getchar(); for (;ch<'0'||ch>'9';ch=getchar()); for (;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0'; return x; } int num[110],tot; bool bo[110]; inline int gao(int x,int y) { tot=0; for (int i=1;i<=x;i++) num[++tot]=y&1,y>>=1; reverse(num+1,num+tot+1); for (int i=1;i<=x;i++) bo[i]=false; bool flag=false; for (int i=1,j;i<=tot;i=j+1) { for (j=i;j<=x&&num[j]==num[i];j++);j--; if (j-i+1>=3) { for (int k=i;k<=j;k++) bo[k]=true;flag=true;break; } } if (!flag) return 0; int h1=0,h2=0; for (int i=1;i<=tot;i++) if (!bo[i]) h1++,h2=h2*2+num[i]; return id[h1][h2]; } inline void gauss() { for (int i=1;i<=tt;i++) { int id=0; for (int j=i;j<=tt;j++) if (abs(a[j][i])>eps) { id=j;break; } swap(a[i],a[id]); for (int j=i+1;j<=tt;j++) if (abs(a[j][i])>eps) { double hh=a[j][i]/a[i][i]; for (int k=i;k<=tt+1;k++) a[j][k]-=a[i][k]*hh; } } for (int i=tt;i;i--) { double now=a[i][tt+1]; for (int j=i+1;j<=tt;j++) now+=ans[j]*a[i][j]; ans[i]=-now/a[i][i]; } } inline void pre_gao() { for (int i=0;i<=8;i++) for (int j=0;j<(1<