Problem: The statement of this problem is the same as the statement of problem C1. The only difference is that, in problem C1, n is always even, and in C2, n is always odd.

You are given a regular polygon with 2 ⋅ n vertices (it's convex and has equal sides and equal angles) and all its sides have length 1. Let's name it as 2n-gon.

Your task is to find the square of the minimum size such that you can embed 2n-gon in the square. Embedding 2n-gon in the square means that you need to place 2n-gon in the square in such way that each point which lies inside or on a border of 2n-gon should also lie inside or on a border of the square.

You can rotate 2n-gon and/or the square.

Input

The first line contains a single integer T (1 ≤ T ≤ 200) — the number of test cases.

Next T lines contain descriptions of test cases — one per line. Each line contains single odd integer n (3 ≤ n ≤ 199). Don't forget you need to embed 2n-gon, not an n-gon.

Output

Print T real numbers — one per test case. For each test case, print the minimum length of a side of the square 2n-gon can be embedded in. Your answer will be considered correct if its absolute or relative error doesn't exceed 10^{-6}.

Example

Input


3
3
5
199


Output


1.931851653
3.196226611
126.687663595

Solution (in PYTHON3):

Solution:


# for n in range(3, 200, 2):

#     N = 2 * n

#     alpha = (2 * pi) / (2 * n)
#     beta = (pi - alpha) / 2

#     L = sin(beta) / sin(alpha)

#     ans = 10 ** 10
#     MAX = 1000
#     for i in range(MAX):
#         t0 = alpha * i / MAX

#         xx = []
#         yy = []
#         for i in range(N):
#             t = alpha * i + t0
#             x, y = L * cos(t), L * sin(t)
#             xx.append(x)
#             yy.append(y)

#         tmpr = max(max(xx) - min(xx), max(yy) - min(yy))
#         ans = min(ans, tmpr)

#     print(f"{n} : {ans},")


ans = {3: 1.931851652578137,
       5: 3.1962266107498305,
       7: 4.465702135190254,
       9: 5.736856622834928,
       11: 7.00877102284205,
       13: 8.281093789118495,
       15: 9.553661304648701,
       17: 10.826387080174316,
       19: 12.099221090606225,
       21: 13.372132387773904,
       23: 14.64510079714694,
       25: 15.918112604548812,
       27: 17.191158161652254,
       29: 18.464230483075124,
       31: 19.737324386897843,
       33: 21.010435947900465,
       35: 22.283562138356153,
       37: 23.556700585376017,
       39: 24.829849402946724,
       41: 26.10300707314532,
       43: 27.376172360514047,
       45: 28.649344249275092,
       47: 29.922521896579926,
       49: 31.195704597210476,
       51: 32.46889175658776,
       53: 33.742082869893075,
       55: 35.015277505745324,
       57: 36.28847529331536,
       59: 37.561675912061524,
       61: 38.8348790834848,
       63: 40.10808456445453,
       65: 41.38129214176658,
       67: 42.65450162767617,
       69: 43.927712856207805,
       71: 45.20092568008886,
       73: 46.47413996818731,
       75: 47.747355603359544,
       77: 49.02057248063344,
       79: 50.29379050566765,
       81: 51.56700959343902,
       83: 52.84022966711982,
       85: 54.1134506571136,
       87: 55.386672500223845,
       89: 56.659895138934914,
       91: 57.93311852078775,
       93: 59.20634259783608,
       95: 60.47956732617132,
       97: 61.75279266550647,
       99: 63.026018578810074,
       101: 64.29924503198401,
       103: 65.57247199357865,
       105: 66.84569943454059,
       107: 68.11892732798874,
       109: 69.39215564901495,
       111: 70.66538437450639,
       113: 71.93861348298648,
       115: 73.21184295447279,
       117: 74.4850727703492,
       119: 75.75830291325114,
       121: 77.03153336696215,
       123: 78.3047641163205,
       125: 79.57799514713487,
       127: 80.85122644610789,
       129: 82.12445800076682,
       131: 83.39768979940062,
       133: 84.67092183100281,
       135: 85.94415408521901,
       137: 87.21738655229956,
       139: 88.49061922305593,
       141: 89.76385208882093,
       143: 91.0370851414123,
       145: 92.31031837309914,
       147: 93.58355177657134,
       149: 94.85678534491129,
       151: 96.13001907156787,
       153: 97.40325295033253,
       155: 98.67648697531708,
       157: 99.94972114093346,
       159: 101.22295544187476,
       161: 102.49618987309775,
       163: 103.76942442980673,
       165: 105.04265910743855,
       167: 106.31589390164861,
       169: 107.58912880829797,
       171: 108.8623638234414,
       173: 110.13559894331603,
       175: 111.40883416433105,
       177: 112.68206948305792,
       179: 113.95530489622139,
       181: 115.22854040069092,
       183: 116.50177599347283,
       185: 117.77501167170294,
       187: 119.04824743263957,
       189: 120.32148327365705,
       191: 121.5947191922398,
       193: 122.86795518597636,
       195: 124.14119125255439,
       197: 125.41442738975526,
       199: 126.68766359544964,
       }


T = int(input())

for t in range(T):
    n = int(input())
    print(ans[n])