#include using namespace std; typedef signed long long ll; #undef _P #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x=0) return memo[pm]; vector id; double ret=0; double left=1, p2b=1; int mask,i,x; FOR(i,N) if(pm&(1<>N; FOR(i,1<>P[i]; ll p=P[i]-1; bi[i]=0; while(p%2==0) bi[i]++, p/=2; bipsum[i][0]=bip[i][0]=pow(0.5,bi[i]); for(x=1;x<=64;x++) { if(x<=bi[i]) bip[i][x]=pow(0.5,bi[i]+1-x); bipsum[i][x]=bipsum[i][x-1]+bip[i][x]; } } FOR(i,1<>T; FOR(i,T) solve(); return 0; }