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:
res = ['1.9318516577', '3.1962266127', '4.4657021374', '5.7368566318', '7.0087710109', '8.2810937889', '9.5536612999', '10.8263870658', '12.0992210840', '13.3721323881', '14.6451008008', '15.9181125992', '17.1911581674', '18.4642304645', '19.7373243730', '21.0104359486', '22.2835621274', '23.5567005950', '24.8298493956', '26.1030070624', '27.3761723567', '28.6493442355', '29.9225218838', '31.1957045846', '32.4688917510', '33.7420828616', '35.0152774926', '36.2884752855', '37.5616759142', '38.8348790854', '40.1080845709', '41.3812921427', '42.6545016376', '43.9277128601', '45.2009256798', '46.4741399664', '47.7473555894', '49.0205724836', '50.2937904862', '51.5670095970', '52.8402296531', '54.1134506545', '55.3866725034', '56.6598951346', '57.9331185155', '59.2063425809', '60.4795673309', '61.7527926676', '63.0260185910', '64.2992450360', '65.5724720025', '66.8456994254', '68.1189273372', '69.3921556401', '70.6653843669', '71.9386134847', '73.2118429612', '74.4850727635', '75.7583029245', '77.0315333788', '78.3047641265', '79.5779951349', '80.8512264368', '82.1244579994', '83.3976897901', '84.6709218417', '85.9441540888', '87.2173865641', '88.4906192349', '89.7638521014', '91.0370851308', '92.3103183558', '93.5835517764', '94.8567853273', '96.1300190739', '97.4032529508', '98.6764869581', '99.9497211284', '101.2229554291', '102.4961898602', '103.7694244216', '105.0426591134', '106.3158939031', '107.5891287905', '108.8623638083', '110.1355989239', '111.4088341698', '112.6820694810', '113.9553048899', '115.2285403967', '116.5017760012', '117.7750116709', '119.0482474385', '120.3214832712', '121.5947192017', '122.8679551973', '124.1411912582', '125.4144273843', '126.6876635756', '127.9608998646']
t = int(input())
for i in range(t):
	n = int(input())
	print(res[(n-1)//2-1])