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 <iostream> 

using namespace std; 


const int MAXA = 44723; 
bool a_arr[MAXA]; 
int cnt[MAXA]; 

void dp(){
  a_arr[0] = false; 
  a_arr[1] = false; 
  a_arr[2] = false; 
  for(int a = 3; a < MAXA; a++){
    long long n = ( a * a + 1 )/2; 
    long long b = n - 1; 
    long long c = n; 
    if(c == a*a - b)
      a_arr[a] = true; 
    else 
      a_arr[a] = false; 
  }
  int sum = 0; 
  for(int a = 0; a < MAXA; a++){
    if(a_arr[a])
      sum++; 
    cnt[a] = sum; 
  }
}

int solve(int n){
  dp(); 
  int a = 0; 
  for(; a < MAXA; a++){
    long long loc = (a * a + 1) / 2; 
    if( loc > n )
      break; 
  }
  a--; 
  return cnt[a]; 
}

int main(){
  int T; 
  cin >> T;
  int n; 
  for(int i = 0; i < T; i++){
    cin >> n; 
    cout << solve(n) << endl;  
  }
  return 0; 
}