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 sys
  
  target_numbers = set()
  target_numbers.add(1)
  for i in range(2, 32000):
      square_number = i * i 
      cube_number = i * i * i
      target_numbers.add(square_number)
      target_numbers.add(cube_number)
  
  target_numbers = sorted(list(target_numbers))
  # print(target_numbers[:20])
  
  
  t = input()
  for i in range(t):
      n = int(input())
      l = 0 
      r = len(target_numbers)
      result = -1
      while l <= r:
          m = (l + r) / 2
          if target_numbers[m] > n:
              r = m - 1
          elif target_numbers[m] < n:
              l = m + 1
          else:
              result = m + 1 
              break
      if result == -1:
          result = (l + r) / 2 + 1
      print(result)