






def    __magic_name__    (	SCREAMING_SNAKE_CASE = 50_000_000				)     ->    int:
							_lowercase							:   Union[str, Any] 							=   set()
							_lowercase							:   int 							=   int((limit - 24) ** (1 / 2)				)

							_lowercase							:   Any 							=   set(range(3     ,     prime_square_limit + 1     ,     2				)				)
							primes.add(2				)
							for p in range(3     ,     prime_square_limit + 1     ,     2				):
														if p not in primes:
																					continue
														primes.difference_update(set(range(p * p     ,     prime_square_limit + 1     ,     _lowerCAmelCase				)				)				)

							for primea in primes:
														_lowercase							:   Union[str, Any] 							=   primea * primea
														for primea in primes:
																					_lowercase							:   Any 							=   primea * primea * primea
																					if square + cube >= limit - 16:
																												break
																					for primea in primes:
																												_lowercase							:   Union[str, Any] 							=   primea * primea * primea * primea
																												_lowercase							:   Optional[Any] 							=   square + cube + tetr
																												if total >= limit:
																																			break
																												ret.add(_lowerCAmelCase				)

							return len(_lowerCAmelCase				)


if __name__ == "__main__":
							print(f'''{solution() = }''')









'''simple docstring'''





from __future__ import annotations

_UpperCamelCase											=		10

def 			a_	(				_lowerCAmelCase			) -> list[int]:
  __lowerCamelCase			:			str       			=					1
  __lowerCamelCase			:			Union[str, Any]       			=					max(_lowerCAmelCase			)
  while placement <= max_digit:
    # declare and initialize empty buckets
    __lowerCamelCase			:			list[list]       			=					[[] for _ in range(_lowerCAmelCase			)]
    # split list_of_ints between the buckets
    for i in list_of_ints:
      __lowerCamelCase			:			List[str]       			=					int((i / placement) % RADIX			)
      buckets[tmp].append(_lowerCAmelCase			)
    # put each buckets' contents into list_of_ints
    __lowerCamelCase			:			Dict       			=					0
    for b in range(_lowerCAmelCase			):
      for i in buckets[b]:
        __lowerCamelCase			:			List[str]       			=					i
        a += 1
        # move to next
    placement *= RADIX
  return list_of_ints


if __name__ == "__main__":
   import doctest

   doctest.testmod()






