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

Solution:
from math import sqrt
import operator
import sys
 
 
# inf = open('input.txt', 'r')
inf = sys.stdin
input = inf.readline
 
def read_one_int():
    return int(input().rstrip('\n'))
 
 
def read_list_of_ints():
    res = [int(val) for val in (input().rstrip('\n')).split(' ')]
    return res
 
 
def read_str():
    return input().rstrip()


def check_seq(n, c_max_l, results_l):
    if n < c_max_l[0]:
        return 0
    l = 0
    r = len(c_max_l) - 1

    while l <= r:
        mid = (l + r) // 2
        if c_max_l[mid] <= n:
            res = mid
            l = mid + 1
        else:
            r = mid - 1

    return results_l[res]


def get_results():
    results_l = []
    c_max_l = []

    c_max = 1000000000

    cur_c = 0
    a = 1
    while True:
        b = a * a - 1
        if b % 2 == 0:
            b = b // 2
        else:
            b = -1

        if b != -1 and b > 0:
            cur_c = a * a - b
            c_max_l.append(cur_c)
            if not results_l:
                results_l.append(1)
            else:
                results_l.append(results_l[-1] + 1)

        a += 1

        if cur_c > c_max:
            break

    return c_max_l, results_l



def main():
    cnt = read_one_int()
    c_max_l, results_l = get_results()

    for _ in range(cnt):
        n = read_one_int()

        res = check_seq(n, c_max_l, results_l)

        print(res)

 
if __name__== '__main__':
    main()