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:
import io
import os

from collections import Counter, defaultdict, deque
import math


def solve(N,):
    sideAngle = (2.0 * math.pi) / (2 * N)
    theta = sideAngle / 2.0
    x = 0.5
    y = x / math.tan(theta)
    z = (x ** 2 + y ** 2) ** 0.5

    def f(rot):
        return max(z * math.cos(theta - rot), z * math.cos(rot))

    EPS = 1e-7
    lo = 0
    hi = theta

    while hi - lo > EPS:
        mid1 = lo + (hi - lo) / 3.0
        mid2 = lo + 2.0 * (hi - lo) / 3.0
        values = [f(x) for x in [lo, mid1, mid2, hi]]
        deltas = [values[1] - values[0], values[2] - values[1], values[3] - values[2]]
        if deltas[0] > 0:
            hi = mid1
        elif deltas[0] <= 0 and deltas[1] >= 0:
            hi = mid2
        elif deltas[1] <= 0 and deltas[2] >= 0:
            lo = mid1
        else:
            assert deltas[2] <= 0
            lo = mid2
    return f(lo) * 2


if __name__ == "__main__":
    input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

    T = int(input())
    for t in range(T):
        (N,) = [int(x) for x in input().split()]
        ans = solve(N,)
        print(ans)