#include using namespace std; #define int long long typedef pairpint; typedef vectorvint; #define pb push_back #define mp make_pair #define all(v) (v).begin(),(v).end() #define rep(i,n) for(int i=0;i<(n);i++) templatevoid chmin(T &t,U f){if(t>f)t=f;} templatevoid chmax(T &t,U f){if(tvec; typedef vectormat; mat start,K; mat mul(mat A,mat B){ mat C(A.size(),vec(B[0].size())); rep(i,C.size()){ rep(j,C[0].size()){ double val=0; rep(k,A[0].size()){ val+=A[i][k]*B[k][j]; } C[i][j]=val; } } return C; } mat mat_pow(mat A,int m){ mat ret(A.size(),vec(A.size())); rep(i,A.size())ret[i][i]=1; while(m){ if(m&1)ret=mul( A,ret); A=mul(A,A); m>>=1; } return ret; } void solve(){ int N; scanf("%lld",&N); double lb=0,ub=INT_MAX/10; rep(_,100){ double mid=(ub+lb)/2; rep(i,5)start[i+1][0]=mid; mat A=mat_pow(K,N); mat X=mul(A,start); if(X[0][0]>=mid)lb=mid; else ub=mid; } printf("%.20lf\n",(lb+ub)/2); } signed main(){ K=mat(7,vec(7)); for(int i=0;i<6;i++)K[0][i]=1.0/6.0; K[0][6]=1; for(int i=0;i<5;i++)K[i+1][i]=1; K[6][6]=1; start=mat(7,vec(1)); start[6][0]=1; int T; scanf("%lld",&T); while(T--)solve(); return 0; }