#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; void solve(){ int n; cin>>n; ll p[15]; int e[15]={}; for(int i=0; i>p[i]; ll x=p[i]-1; while((x&1)==0){ e[i]++; x>>=1; } } double dp[1<<13]; double a[64][1<<13], b[64][1<<13]; for(int t=0; t<64; t++){ for(int i=1; i<(1<0; j=(j-1)&i){ if(j==i) continue; double q=1; for(int k=0; k>e[j]); } } double sum1=q0-1, q2=0; for(int t=0; t<64; t++){ if(a[t][i]<0.1) break; q2+=a[t][i]; } sum1-=q2*q1; for(int j=i; j>0; j=(j-1)&i){ if(j==i) continue; double q=0; for(int t=1; t<64; t++){ if(a[t][j]<0.1) break; q+=a[t][j]*b[t][i^j]; } sum+=q*q1*(dp[j]+dp[i^j]); } dp[i]=(sum+q0)/sum1; } printf("%.9lf\n", dp[(1<>t; while(t--) solve(); return 0; }