





'''simple docstring'''







import math






def  _lowerCamelCase				( lowercase						:      int						)	->	list[int]:
				_a								= []
				_a								= 2
				_a								= int(math.sqrt(lowercase						)						)  # Size of every segment
				_a								= [True] * (end + 1)
				_a								= []

				while start <= end:
								if temp[start] is True:
												in_prime.append(lowercase						)
												for i in range(start * start    ,							end + 1    ,							lowercase						):
																_a								= False
								start += 1
				prime += in_prime

				_a								= end + 1
				_a								= min(2 * end    ,							lowercase						)

				while low <= n:
								_a								= [True] * (high - low + 1)
								for each in in_prime:
												_a								= math.floor(low / each						) * each
												if t < low:
																t += each

												for j in range(lowercase    ,							high + 1    ,							lowercase						):
																_a								= False

								for j in range(len(lowercase						)						):
												if temp[j] is True:
																prime.append(j + low						)

								_a								= high + 1
								_a								= min(high + end    ,							lowercase						)

				return prime



print(sieve(10**6))







'''simple docstring'''







def  _lowerCamelCase				( lowercase						:      int						)	->	bool:
				_a								= n ** (1 / 3)
				return (val * val * val) == n


if __name__ == "__main__":
					print(perfect_cube(27))
					print(perfect_cube(4))
