#include <bits/stdc++.h>   using namespace std;   void prt(long x) { cerr << x; }   void prt(long long x) { cerr << x; }   void prt(unsigned x) { cerr << x; }   void prt(unsigned long x) { cerr << x; }   void prt(unsigned long long x) { cerr << x; }   void prt(float x) { cerr << x; }   void prt(double x) { cerr << x; }   void prt(long double x) { cerr << x; }   void prt(char x) { cerr <<      << x <<     ; }   void prt(const char *x) { cerr <<     << x <<    ; }   void prt(const string &x) { cerr <<     << x <<    ; }   void prt(bool x) { cerr << (x ?  true  :  false ); }   template <typename T, typename V>   void prt(const pair<T, V> &x) {     cerr <<  { ;     prt(x.first);     cerr <<  , ;     prt(x.second);     cerr <<  } ;   }   template <typename T>   void prt(const T &x) {     long long f = 0;     cerr <<  { ;     for (auto &i : x) cerr << (f++ ?  ,  :   ), prt(i);     cerr <<  } ;   }   void _print() { cerr <<  ] n ; }   template <typename T, typename... V>   void _print(T t, V... v) {     prt(t);     if (sizeof...(v)) cerr <<  ,  ;     _print(v...);   }   void err(istream_iterator<string> it) {}   template <typename T, typename... brgs>   void err(istream_iterator<string> it, T a, brgs... args) {     cerr << *it <<   =   << a << endl;     err(++it, args...);   }   long long kadane(long long *a, long long n) {     long long max_so_far = INT_MIN, max_ending_here = 0;     for (__typeof(n) i = (0); i != (n); i += 1 - 2 * ((0) > (n))) {       max_ending_here += a[i];       max_so_far = max(max_so_far, max_ending_here);       if (max_ending_here < 0) max_ending_here = 0;     }     return max_so_far;   }   void solve() {     long long n;     cin >> n;     double ans = 1.0 / tan(3.1415926535897932384626 / (2 * n));     cout << fixed;     cout << setprecision(10) << ans << endl;     return;   }   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     long long t;     cin >> t;     while (t--) {       solve();     }   }   