



"""simple docstring"""







import math
from collections.abc import Generator


def  __SCREAMING_SNAKE_CASE (  __UpperCAmelCase      ):
		_lowercase				: Generator     =   (i for i in range(1   ,				(max_n + 1)      ))
		for i in (n for n in numbers if n > 1):
				for j in range(2   ,				__UpperCAmelCase      ):
						if (i % j) == 0:
								break
				else:
						yield i


def  __SCREAMING_SNAKE_CASE (  __UpperCAmelCase      ):
		_lowercase				: Generator     =   (i for i in range(1   ,				(max_n + 1)      ))
		for i in (n for n in numbers if n > 1):
				# only need to check for factors up to sqrt(i)
				_lowercase				: Union[str, Any]     =   int(math.sqrt(__UpperCAmelCase      )      ) + 1
				for j in range(2   ,				__UpperCAmelCase      ):
						if (i % j) == 0:
								break
				else:
						yield i


def  __SCREAMING_SNAKE_CASE (  __UpperCAmelCase      ):
		_lowercase				: Generator     =   (i for i in range(1   ,				(max_n + 1)   ,				2      ))
		# It's useless to test even numbers as they will not be prime
		if max_n > 2:
				yield 2  # Because 2 will not be tested, it's necessary to yield it now
		for i in (n for n in numbers if n > 1):
				_lowercase				: str     =   int(math.sqrt(__UpperCAmelCase      )      ) + 1
				for j in range(3   ,				__UpperCAmelCase   ,				2      ):
						# As we removed the even numbers, we don't need them now
						if (i % j) == 0:
								break
				else:
						yield i


def  __SCREAMING_SNAKE_CASE (  ):
		from timeit import timeit

		_lowercase				: Tuple     =   """from __main__ import slow_primes, primes, fast_primes"""
		print(timeit("""slow_primes(1_000_000_000_000)"""   ,				setup=__UpperCAmelCase   ,				number=1000000      )      )
		print(timeit("""primes(1_000_000_000_000)"""   ,				setup=__UpperCAmelCase   ,				number=1000000      )      )
		print(timeit("""fast_primes(1_000_000_000_000)"""   ,				setup=__UpperCAmelCase   ,				number=1000000      )      )


if __name__ == "__main__":
		UpperCAmelCase:  int			     =				int(input("""Calculate primes up to:\n>> """).strip())
		for ret in primes(number):
				print(ret)
		benchmark()







def  lowercase_						(						_A     :       Dict		):

      """simple docstring"""




      lowerCamelCase__						:							Optional[Any]       =    len(_A		)
      for _ in range(
          0       ,   int(((no_of_elements - 1) / 2) + 1		)		):  # we don't need to traverse to end of list as
            for j in range(0       ,   no_of_elements - 1		):
                  if (
                      lst[j + 1] < lst[j]
                  ):  # applying bubble sort algorithm from left to right (or forwards)
                        lowerCamelCase__						:							Tuple       =    lst[j + 1]
                        lowerCamelCase__						:							Optional[Any]       =    lst[j]
                        lowerCamelCase__						:							Optional[Any]       =    temp
                  if (
                      lst[no_of_elements - 1 - j] < lst[no_of_elements - 2 - j]
                  ):  # applying bubble sort algorithm from right to left (or backwards)
                        lowerCamelCase__						:							Any       =    lst[no_of_elements - 1 - j]
                        lowerCamelCase__						:							List[str]       =    lst[no_of_elements - 2 - j]
                        lowerCamelCase__						:							str       =    temp
      return lst


if __name__ == "__main__":
    print("enter the list to be sorted")
    A :       Optional[int]						=   [int(x) for x in input().split()]  # inputing elements of the list in one line
    A :       Optional[Any]						=   double_sort(lst)
    print("the sorted list is")
    print(sorted_lst)


