import sys def II(): return int(sys.stdin.readline()) def main(): # サンプルから、1~6の目が出る確率を求める # ev[i]が、あと何回で目の和がi以上になるか # pp[i]が、さいころのiの目が出る確率 # 例えばev4=1+ev3*pp1+ev2*pp2+ev1*pp3+(これ以降はevが0なので省略)なので、変形して # pp3=(ev4-1-ev3*pp1-ev2*pp2)/ev1 # ev1=1なのでpp3=ev4-1-ev3*pp1-ev2*pp2 # 一般化するとpp[i]=ev[i+1]-1-ev[i]*pp[1]-ev[i-1]*pp[2]・・・ev[2]*pp[i-1] # これでpp[5]まで求めて、pp[6]=1-sum(pp[1]~pp[5]) n = 10 ** 6 ev = [0, 1.0000000000000000, 1.0833333333333333, 1.2569444444444444, 1.5353009259259260, 1.6915991512345676, 2.0513639724794235] + [0] * n pp = [0] * 7 for i in range(1, 6): pp[i] = ev[i + 1] - 1 - sum(pp[dice] * ev[i + 1 - dice] for dice in range(1, i)) pp[6] = 1 - sum(pp) # print(pp) # ev[n]のnが最大10**6なので、そこまでDPして、クエリに答える for i in range(7, n + 1): ev[i] = 1 + sum(pp[dice] * ev[i - dice] for dice in range(1, 7)) t = II() for _ in range(t): print(ev[II()]) main()