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

Solution:
import java.util.*;
import java.awt.image.BandedSampleModel;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.Scanner;
public class D {
    public static int binarySearch(long[] arr,int n)
    {
        //#aaRJae
        //This is a basic  binary search code(return -1 if not found)
        //returns index of number
        // binary search has infinite variation so beware
        //To make search for number just greater than the value "n" decomment comment just below "1&&3"
        //return -1 if value greater than last integer
        //To make search for number just less than the value "n" decomment comment just below "2&&3"
        //returns -1 if value less than last integer
        int len =arr.length;
        int l = 0;
        int r = len-1;
        int mid;
        //3
        int ans =-1;


        while(r>=l)  //"=" lagana hai bhai
        {
            mid = l+(r-l)/2;  //never (l+r)/2 kyunki integer overflow
            if(arr[mid]==n)
            {
                //3
                ans =mid;
                return mid;

            }
            if(arr[mid]>n)
            {
                r =mid-1;
                //1
                //ans = mid;
            }
            else
            {
                l =mid+1;
                //2
                ans = mid;
            }
        }
        //3 make return -1 commented
        return ans;
        //return -1;
    }

    static void sort(int[] A){

        int n = A.length;
        Random rnd = new Random();
        for(int i=0; i<n; ++i){
            int tmp = A[i];
            int randomPos = i + rnd.nextInt(n-i);
            A[i] = A[randomPos];
            A[randomPos] = tmp;
        }
        Arrays.sort(A);
    }

    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        int cases = sc.nextInt();
        long mod=(1000000001l);
        int num= (int)Math.sqrt(mod)+1;
        long arr[]=new long[(int)num];

        for(int j=0;j<num;j++)
        {
            long x=j*2+1;
            x=x*x;
            x=(x+1)/2;
            arr[j]=x;
        }
        for(int i=0;i<cases;i++)
        {
            int n = sc.nextInt();
            int ans=binarySearch(arr,n);
            System.out.println(ans);
            // long arr[] = new long[n];
//            for(int j=0;j<n;j++)
//            {
//                arr[j]=sc.nextLong();
//            }
        }

    }
}