Problem: A Pythagorean triple is a triple of integer numbers (a, b, c) such that it is possible to form a right triangle with the lengths of the first cathetus, the second cathetus and the hypotenuse equal to a, b and c, respectively. An example of the Pythagorean triple is (3, 4, 5).

Vasya studies the properties of right triangles, and he uses a formula that determines if some triple of integers is Pythagorean. Unfortunately, he has forgotten the exact formula; he remembers only that the formula was some equation with squares. So, he came up with the following formula: c = a^2 - b.

Obviously, this is not the right formula to check if a triple of numbers is Pythagorean. But, to Vasya's surprise, it actually worked on the triple (3, 4, 5): 5 = 3^2 - 4, so, according to Vasya's formula, it is a Pythagorean triple.

When Vasya found the right formula (and understood that his formula is wrong), he wondered: how many are there triples of integers (a, b, c) with 1 ≤ a ≤ b ≤ c ≤ n such that they are Pythagorean both according to his formula and the real definition? He asked you to count these triples.

Input

The first line contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases.

Each test case consists of one line containing one integer n (1 ≤ n ≤ 10^9).

Output

For each test case, print one integer — the number of triples of integers (a, b, c) with 1 ≤ a ≤ b ≤ c ≤ n such that they are Pythagorean according both to the real definition and to the formula Vasya came up with.

Example

Input


3
3
6
9


Output


0
1
1

Note

The only Pythagorean triple satisfying c = a^2 - b with 1 ≤ a ≤ b ≤ c ≤ 9 is (3, 4, 5); that's why the answer for n = 3 is 0, and the answer for n = 6 (and for n = 9) is 1.

Solution (in CPP):

Solution:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
#define pb push_back
#define mp make_pair
#define fi first
#define se second
const int NN = 1e6 + 5;
const int mo = 1e9 + 7;
const ld eps = 1e-9;
ll t;
vector<ll> isi;
ll cek(ll z)
{
    ll H = 0;
    for(ll i = 1; i <= z; i++)
        for(ll j = i + 1; j <= z; j++)
            for(ll k = j + 1; k <= z; k++)
                if(i * i + j * j == k * k && k == i * i - j)
                {
                    cout << i << " " << j << " " << k << "\n";
                    H++;
                }
    return H;
}
ll solve(ll n)
{
    ll L = 0, R = isi.size() - 1;
    ll H = 0;
    while(L <= R)
    {
        ll C = (L + R) / 2;
        if(isi[C] <= n)
        {
            H = C + 1;
            L = C + 1;
        }
        else
            R = C - 1;
    }
    return H;
}
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    for(ll i = 3; i ; i += 2)
    {
        ll z = (i * i) / 2 + 1;
        // cout << i * i << "_\n";
        isi.pb(z);
        // cout << z << "\n";
        // if(z > 100)break;
        if(z > 1000000000)
            break;
        // cout << z << "\n";
    }
    cin >> t;
    while(t--)
    {
        ll n;
        cin >> n;
        cout << solve(n) << "\n";
    }
}