description: Polycarp likes squares and cubes of positive integers. Here is the beginning of the sequence of numbers he likes: 1, 4, 8, 9, ....
  
  For a given number n, count the number of integers from 1 to n that Polycarp likes. In other words, find the number of such x that x is a square of a positive integer number or a cube of a positive integer number (or both a square and a cube simultaneously).
  
  Input
  
  The first line contains an integer t (1 ≤ t ≤ 20) — the number of test cases.
  
  Then t lines contain the test cases, one per line. Each of the lines contains one integer n (1 ≤ n ≤ 10^9).
  
  Output
  
  For each test case, print the answer you are looking for — the number of integers from 1 to n that Polycarp likes.
  
  Example
  
  Input
  
  
  6
  10
  1
  25
  1000000000
  999999999
  500000000
  
  
  Output
  
  
  4
  1
  6
  32591
  32590
  23125
solution: import java.util.*;
  import java.io.*;
  
  public class B {
  
  	public static void main(String args[]) throws IOException {
  
  		FastReader fr = new FastReader();
  		PrintWriter out = new PrintWriter(System.out);
  
  		int t = fr.nextInt();
  		
  		for(int test = 0;test < t;test++) {
  			
  			int n = fr.nextInt();
  			
  			int ans = 0;
  			
  			for(int i = 1;i <= n;i++) {
  				
  				if(i * i <= n) {
  					
  					ans++;
  					
  //					System.out.println("i1 = "+i*i);
  				
  				}
  				
  				else break;
  				
  			}
  			
  			for(int i = 1;i <= n;i++) {
  				
  				if(i * i * i <= n && isPerfectSquare(i * i * i) == false) {
  					
  					ans++;
  					
  //					System.out.println("i2 = "+i*i*i);
  				
  				}
  				
  				else if(i * i * i > n) break;
  				
  			}
  			
  			out.println(ans);
  			
  		}
  		
  		fr.close();
  		out.close();
  
  	}
  	
  	static boolean isPerfectSquare(int n) {
  		
  		int s = (int) Math.sqrt((double)n);
  		
  		boolean b = false;
  		
  		if(s * s == n) b = true;
  		
  		return b;
  		
  	}
  
  	static class FastReader {
  
  		BufferedReader br;
  		StringTokenizer st;
  
  		public FastReader() {
  
  			br = new BufferedReader(new InputStreamReader(System.in));
  
  		}
  
  		String next() {
  
  			while(st == null || !st.hasMoreElements()) {
  
  				try {
  
  					st = new StringTokenizer(br.readLine());
  
  				}
  
  				catch(IOException e) {
  
  					e.printStackTrace();
  
  				}
  
  			}
  
  			return st.nextToken();
  
  		}
  
  		int nextInt() {
  
  			return Integer.parseInt(next());
  
  		}
  
  		long nextLong() {
  
  			return Long.parseLong(next());
  
  		}
  
  		double nextDouble() {
  
  			return Double.parseDouble(next());
  
  		}
  
  		String nextLine() {
  
  			String str = "";
  
  			try {
  
  				str = br.readLine();
  
  			}
  
  			catch(IOException e) {
  
  				e.printStackTrace();
  
  			}
  
  			return str;
  
  		}
  
  		void close() throws IOException {
  
  			br.close();
  
  		}
  
  	}
  
  }
  