#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,a,b) for(int i=a;i<b;i++)
#define per(i,a,b) for(int i=b-1;i>=a;i--)
const int maxn=1e5+10;
double dp[maxn];
/*
猜对了排列组合
难点:
1.反方向考虑,考虑哪些不合法
2.考虑公式的递推关系,直接计算太复杂,精度也不好说
*/
void init(){
dp[1]=1.0;
rep(i,2,maxn){
dp[i]=dp[i-1]*1.0/2.0*(2.0*i-3.0)/(1.0*i-1);
}
}
int main(){
init();
int T;
scanf("%d",&T);
while(T--){
int n;
scanf("%d",&n);
printf("%.4f\n",1.0-dp[n/2]);
}
return 0;
}