

import random

from .binary_exp_mod import bin_exp_mod

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   List[Any]     ,					SCREAMING_SNAKE_CASE_		:   int=1_000      ):



     '''simple docstring'''





     if n < 2:
          return False

     if n % 2 == 0:
          return n == 2

     # this means n is odd
     lowercase__   :       str				=	n - 1
     lowercase__   :       Dict				=	0
     while d % 2 == 0:
          d /= 2
          exp += 1

     # n - 1=d*(2**exp)
     lowercase__   :       List[str]				=	0
     while count < prec:
          lowercase__   :       Union[str, Any]				=	random.randint(2     ,					n - 1      )
          lowercase__   :       str				=	bin_exp_mod(SCREAMING_SNAKE_CASE_     ,					SCREAMING_SNAKE_CASE_     ,					SCREAMING_SNAKE_CASE_      )
          if b != 1:
               lowercase__   :       Optional[int]				=	True
               for _ in range(SCREAMING_SNAKE_CASE_      ):
                    if b == n - 1:
                         lowercase__   :       List[Any]				=	False
                         break
                    lowercase__   :       Optional[Any]				=	b * b
                    b %= n
               if flag:
                    return False
               count += 1
     return True


if __name__ == "__main__":
       snake_case_        =			abs(int(input('''Enter bound : ''').strip()))
       print('''Here\'s the list of primes:''')
       print(''', '''.join(str(i) for i in range(n + 1) if is_prime_big(i)))




def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   int = 50_000_000      ):



     '''simple docstring'''





     lowercase__   :       List[Any]				=	set()
     lowercase__   :       Any				=	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     ,					SCREAMING_SNAKE_CASE_      )      )      )

     for primea in primes:
          lowercase__   :       Any				=	primea * primea
          for primea in primes:
               lowercase__   :       Optional[int]				=	primea * primea * primea
               if square + cube >= limit - 16:
                    break
               for primea in primes:
                    lowercase__   :       Dict				=	primea * primea * primea * primea
                    lowercase__   :       List[Any]				=	square + cube + tetr
                    if total >= limit:
                         break
                    ret.add(SCREAMING_SNAKE_CASE_      )

     return len(SCREAMING_SNAKE_CASE_      )


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

