
'''simple docstring'''




def 						lowerCAmelCase_							(  snake_case__ = 6008_5147_5143		):




    '''simple docstring'''



    try:
        A			:  int   =		int(A__		)
    except (TypeError, ValueError):
        raise TypeError('''Parameter n must be int or castable to int.'''		)
    if n <= 0:
        raise ValueError('''Parameter n must be greater than or equal to one.'''		)
    A			:  Any   =		2
    A			:  Union[str, Any]   =		0
    if n == 2:
        return 2
    while n > 2:
        while n % i != 0:
            i += 1
        A			:  Tuple   =		i
        while n % i == 0:
            A			:  Tuple   =		n // i
        i += 1
    return int(A__		)


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









def 	_lowerCAmelCase (    A__ = 50_000_000						):
      lowercase__  =	set()
      lowercase__  =	int((limit - 24) ** (1 / 2)						)

      lowercase__  =	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    ,	A__						)						)						)

      for primea in primes:
            lowercase__  =	primea * primea
            for primea in primes:
                  lowercase__  =	primea * primea * primea
                  if square + cube >= limit - 16:
                        break
                  for primea in primes:
                        lowercase__  =	primea * primea * primea * primea
                        lowercase__  =	square + cube + tetr
                        if total >= limit:
                              break
                        ret.add(A__						)

      return len(A__						)


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