Problem: The statement of this problem is the same as the statement of problem C2. 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 even integer n (2 ≤ n ≤ 200). 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
2
4
200


Output


1.000000000
2.414213562
127.321336469

Solution (in PYTHON3):

Solution:
# c_hard_2.py
#2n-gon problem

#cleaning my prev approach - a clean diagram really helps

import math
import sys

def to_deg(rad):
	return (rad/math.pi)*180
def input():
	return sys.stdin.readline().rstrip()


# tabnine::config

t = int(input())
answers = []
for i in range(t):
	k = int(input())
	n = 2*k
	x, y = 0,0
	# to_do = int(((n-2)/2))
	# to_do = int(int(n/2 - 1))/2
	to_do = int(n/4)
	theta = math.pi - ((n-2)*math.pi)/n
	for i in range(1, to_do+1):
		x += math.cos(i*theta)
		y += math.sin(i*theta)

	ans1 = math.sqrt(x**2 + y**2)

	x, y = 0,0
	to_do = int(n/2) - int(n/4)
	for i in range(1, to_do+1):
		x += math.cos(i*theta)
		y += math.sin(i*theta)

	ans2 = math.sqrt(x**2 + y**2)

	ans = math.cos(math.pi/4)*(ans1+ans2)
	# print('hell')
	answers.append(ans)
	# print(ans)
	# interior = ((n-2)/n)*math.pi
	# exterior = 2*math.pi - interior
	# best = ans

	# for num_faltu in range(0, int(n/2)-1):

	# # num_faltu = int((n-4)/2)
	# 	num_faltu_plus = num_faltu + 3
	# 	interior_sub = ((num_faltu_plus - 2)/(num_faltu_plus))*math.pi
	# 	alpha = 0.5*(num_faltu_plus*interior_sub - num_faltu*exterior - (math.pi)/2)
	# 	if alpha < 0 or alpha > math.pi/4 - 0.001:
	# 		continue
	# 	# alpha = math.pi - (interior + math.pi/4)
	# 	new_ans = ans*math.cos(interior/2 + alpha) + abs(2*ans*math.cos(interior/2  + (math.pi  - alpha - interior)))
	# 	print('new ans - {}, alpha - {}, num_faltu - {}'.format(new_ans, to_deg(alpha), num_faltu))
	# 	best = min(ans, new_ans)
	# # new_ans = ans*math.cos(interior/2 + alpha) + 2*math.sin(math.pi/4)
	# answers.append(best) 

print(*answers, sep = '\n')