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.io.*;
  import java.util.*;
  
  public class Main {
      public static void main(String[] args) {
          FastIO fio = new FastIO();
  
          int t = fio.nextInt();
  
          for (int i = 0; i < t; i++) {
              int n = fio.nextInt();
              HashSet<Integer> nums = new HashSet<>();
  
              int num = 1;
              while (num * num <= n) {
                  nums.add(num * num);
                  num++;
              }
  
              num = 1;
              while (num * num * num <= n) {
                  nums.add(num * num * num);
                  num++;
              }
  
              fio.println(nums.size());
          }
  
          fio.close();
      }
  }
  
  /**
   * Fast I/O
   * @source https://www.geeksforgeeks.org/fast-io-in-java-in-competitive-programming/
   */
  class FastIO extends PrintWriter 
  { 
      BufferedReader br; 
      StringTokenizer st;
  
      public FastIO() 
      { 
          super(new BufferedOutputStream(System.out)); 
          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; 
      } 
  }
  
  