1+ /* package joney_000 */
2+
3+ import java .util .*;
4+ import java .lang .*;
5+ import java .io .*;
6+ import java .math .*;
7+
8+
9+ public class Solution
10+
11+ {
12+
13+ public static void main (String [] args )throws Exception
14+
15+ {
16+
17+ /* BufferedReader br=new BufferedReader(new FileReader("input.txt"));
18+ BufferedWriter out=new BufferedWriter(new FileWriter("output.txt"));
19+ */
20+
21+ BufferedReader br =new BufferedReader (new InputStreamReader (System .in ));
22+ BufferedWriter out =new BufferedWriter (new OutputStreamWriter (System .out ));
23+
24+
25+ int t = Integer .parseInt (br .readLine ());
26+ long arr [] = new long [1000001 ];
27+
28+ for (long i =1 ;i <=1000000 ;i ++){
29+ arr [(int )i ]=(i *(i +1 )*(2 *i +1 ))/6 ;
30+ }
31+
32+ for (int test =0 ;test <t ;test ++){
33+ long x = Long .parseLong (br .readLine ());
34+ int idx = Arrays .binarySearch (arr ,1 ,1000000 +1 ,x ); // [L..R] = Arrays.binarySearch(arr,l,r+1,key);
35+ if (idx < 0 ){
36+ idx = -idx ;
37+ idx -= 2 ;
38+ }
39+ long ans = idx ;
40+ out .write ("" +ans +"\n " );
41+ out .flush ();
42+ }
43+
44+
45+ }//end of public static void main();
46+ public static boolean isPrime (long n )throws Exception {
47+ if (n ==2 ||n ==3 )return true ;
48+ for (int i =2 ;i <=Math .sqrt (n );i ++){
49+ if (n %i ==0 )return false ;
50+ }
51+ return true ;
52+ }
53+ public static long gcd (long a , long b )throws Exception {
54+ if (b ==0 )return a ;
55+ return gcd (b ,a %b );
56+ }
57+ public static long lcm (long a , long b )throws Exception {
58+ if (b ==0 ||a ==0 )return 0 ;
59+ return (a *b )/gcd (a ,b );
60+ }
61+ public static long pow (long a ,long b ,long mod )throws Exception {
62+ if (b ==1 )return a %mod ;
63+ if (b ==0 )return 1 ;
64+ long ans =pow (a ,b /2 ,mod );
65+ ans =(ans *ans )%mod ;
66+ if (b %2 !=0 )ans =(ans *a )%mod ;
67+
68+ return ans ;
69+ }
70+ } /
0 commit comments