#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define RD(v) int v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} int a[10]; double d[1<<10][1<<10][2]; main(){ char rbuf[512]; read(0,rbuf,sizeof rbuf); char*rp=rbuf; RD(n); for(int i=0;i=0;--mi){ int s=0; for(int i=0;i0){ d[mi][mj][0]=1; d[mi][mj][1]=1; }else{ d[mi][mj][0]=0; d[mi][mj][1]=0; } } } for(int m=(1<=0;--m){ int mi=0; do{ int mj=m^mi; double b0ij=0; double b1ij=1; for(int i=0;ib0){ b0j=b0; } if(b1ib1i){ b1ij=b1i; } } } d[mi][mj][0]=b0ij; d[mi][mj][1]=b1ij; }while(mi=mi-1&m); } printf("%f",d[0][0][0]); }