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 CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
double ans[] = {
    0.0,           0.0,           1.000000003,   1.931851653,   2.414213565,
    3.196226611,   3.732050811,   4.465702135,   5.027339495,   5.736856623,
    6.313751519,   7.008771023,   7.595754117,   8.281093789,   8.875245478,
    9.553661305,   10.153170391,  10.826387080,  11.430052305,  12.099221091,
    12.706204741,  13.372132388,  13.981826959,  14.645100797,  15.257051692,
    15.918112605,  16.531970769,  17.191158162,  17.806649749,  18.464230483,
    19.081136691,  19.737324387,  20.355467628,  21.010435948,  21.629670107,
    22.283562138,  22.903765551,  23.556700585,  24.177770870,  24.829849403,
    25.451699584,  26.103007073,  26.725562644,  27.376172361,  27.999369005,
    28.649344249,  29.273126066,  29.922521897,  30.546839991,  31.195704597,
    31.820515958,  32.468891757,  33.094158347,  33.742082870,  34.367770891,
    35.015277506,  35.641356787,  36.288475293,  36.914918794,  37.561675912,
    38.188459300,  38.834879083,  39.461980387,  40.108084564,  40.735483875,
    41.381292142,  42.008971365,  42.654501628,  43.282444268,  43.927712856,
    44.555903835,  45.200925680,  45.829351177,  46.474139968,  47.102787286,
    47.747355603,  48.376213051,  49.020572481,  49.649629263,  50.293790506,
    50.923036641,  51.567009593,  52.196435832,  52.840229667,  53.469827419,
    54.113450657,  54.743211935,  55.386672500,  56.016589860,  56.659895139,
    57.289961635,  57.933118521,  58.563327660,  59.206342598,  59.836688303,
    60.479567326,  61.110043900,  61.752792666,  62.383394760,  63.026018579,
    63.656741167,  64.299245032,  64.930083383,  65.572471994,  66.203421650,
    66.845699435,  67.476756191,  68.118927328,  68.750087214,  69.392155649,
    70.023414910,  70.665384375,  71.296739458,  71.938613483,  72.570061023,
    73.211842954,  73.843379760,  74.485072770,  75.116695812,  75.758302913,
    76.390009314,  77.031533367,  77.663320391,  78.304764116,  78.936629161,
    79.577995147,  80.209935732,  80.851226446,  81.483240209,  82.124458001,
    82.756542689,  83.397689799,  84.029843261,  84.670921831,  85.303142011,
    85.944154085,  86.576439020,  87.217386552,  87.849734363,  88.490619223,
    89.123028111,  89.763852089,  90.396320333,  91.037085141,  91.669611092,
    92.310318373,  92.942900448,  93.583551777,  94.216188457,  94.856785345,
    95.489475176,  96.130019072,  96.762760651,  97.403252950,  98.036044934,
    98.676486975,  99.309328069,  99.949721141,  100.582610101, 101.222955442,
    101.855891070, 102.496189873, 103.129171017, 103.769424430, 104.402449978,
    105.042659107, 105.675727989, 106.315893902, 106.949005085, 107.589128808,
    108.222281297, 108.862363823, 109.495556656, 110.135598943, 110.768831192,
    111.408834164, 112.042104932, 112.682069483, 113.315377904, 113.955304896,
    114.588650133, 115.228540401, 115.861921644, 116.501775993, 117.135192460,
    117.775011672, 118.408462604, 119.048247433, 119.681732096, 120.321483274,
    120.955000958, 121.594719192, 122.228269209, 122.867955186, 123.501536869,
    124.141191253, 124.774803954, 125.414427390, 126.048070483, 126.687663595,
    127.321336473};
int main() {
  int test, n;
  cin >> test;
  while (test--) {
    cin >> n;
    printf("%0.9f\n", ans[n]);
  }
  return 0;
}