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 math
  def duplicateCubes():
      list1 = [0]*1002
      count = 0
      
      for i in range(1,1001):
          num = i**3
          num = math.sqrt(num)  
          num = num - int(num)
          if(num == 0):
              count += 1
          list1[i+1] = count 
      return list1
  
  def Calc(n, list1):
      sr = int(math.sqrt(n))  #squares
      cr = int(n ** (1/3) + 10e-8) #cubes  
      count = list1[cr+1]
      result = sr + cr - count
      #print(sr,cr,count)
      return result 
  
  if __name__ == '__main__':
      t = int(input())  #no. of test cases
      array = duplicateCubes()    #list
      for i in range(t):
          n = int(input())   
          result = Calc(n, array)
          print(result)
  
  # 6
  # 10
  # 1
  # 25
  # 1000000000
  # 999999999
  # 500000000
  