#include <iostream>
using namespace std;
int main() {
int t,n,i,j,m;
double ans;
bool breakk;
cin>>t;
while(t--) {
breakk=false;
cin>>n;
double dp[1000][1000]={0};
dp[1][1]=1;
for(i=1;i<998;i++) {
for(j=0;j<=i;j++) {
if(j<n) {
dp[i+1][j+1]+=dp[i][j]*(double(n-j)/n);
dp[i+1][j]+=dp[i][j]*(double(j)/n);
if(dp[i+1][j+1]) {
if((j+1==n) && dp[i+1][j+1]<0.00000001) {
breakk=true;
break;
}
}
}
}
if(breakk) {
break;
}
}
ans=0;
for(m=n;m<=i+1;m++) {
ans=ans+dp[m][n]*m;
}
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtYWluKCkgewoJaW50IHQsbixpLGosbTsKCWRvdWJsZSBhbnM7Cglib29sIGJyZWFrazsKCQoJY2luPj50OwoJCgl3aGlsZSh0LS0pIHsKCQlicmVha2s9ZmFsc2U7CgkJY2luPj5uOwoJCWRvdWJsZSBkcFsxMDAwXVsxMDAwXT17MH07CgkJZHBbMV1bMV09MTsKCQoJCWZvcihpPTE7aTw5OTg7aSsrKSB7CgkJCWZvcihqPTA7ajw9aTtqKyspIHsKCQkJCWlmKGo8bikgewoJCQkJCWRwW2krMV1baisxXSs9ZHBbaV1bal0qKGRvdWJsZShuLWopL24pOwoJCQkJCWRwW2krMV1bal0rPWRwW2ldW2pdKihkb3VibGUoaikvbik7CgkKCQkJCQlpZihkcFtpKzFdW2orMV0pIHsKCQkJCQkJaWYoKGorMT09bikgJiYgZHBbaSsxXVtqKzFdPDAuMDAwMDAwMDEpIHsKCQkJCQkJCWJyZWFraz10cnVlOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9CQoJCQkJfQoJCQkJCgkJCX0KCQkJCgkJCWlmKGJyZWFraykgewoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJYW5zPTA7CgkJZm9yKG09bjttPD1pKzE7bSsrKSB7CgkJCWFucz1hbnMrZHBbbV1bbl0qbTsKCQkKCQl9CgkJCgkJY291dDw8YW5zPDxlbmRsOwoJfQoJCglyZXR1cm4gMDsKfQ==