

import math
from collections.abc import Generator


def   __SCREAMING_SNAKE_CASE (SCREAMING_SNAKE_CASE__	):
						snake_case_       =     (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  ,		SCREAMING_SNAKE_CASE__	):
																		if (i % j) == 0:
																								break
												else:
																		yield i


def   __SCREAMING_SNAKE_CASE (SCREAMING_SNAKE_CASE__	):
						snake_case_       =     (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)
												snake_case_       =     int(math.sqrt(SCREAMING_SNAKE_CASE__	)	) + 1
												for j in range(2  ,		SCREAMING_SNAKE_CASE__	):
																		if (i % j) == 0:
																								break
												else:
																		yield i


def   __SCREAMING_SNAKE_CASE (SCREAMING_SNAKE_CASE__	):
						snake_case_       =     (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):
												snake_case_       =     int(math.sqrt(SCREAMING_SNAKE_CASE__	)	) + 1
												for j in range(3  ,		SCREAMING_SNAKE_CASE__  ,		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

						snake_case_       =     '''from __main__ import slow_primes, primes, fast_primes'''
						print(timeit('''slow_primes(1_000_000_000_000)'''  ,		setup=SCREAMING_SNAKE_CASE__  ,		number=1000000	)	)
						print(timeit('''primes(1_000_000_000_000)'''  ,		setup=SCREAMING_SNAKE_CASE__  ,		number=1000000	)	)
						print(timeit('''fast_primes(1_000_000_000_000)'''  ,		setup=SCREAMING_SNAKE_CASE__  ,		number=1000000	)	)


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


from __future__ import annotations

from random import randrange


def   __SCREAMING_SNAKE_CASE (SCREAMING_SNAKE_CASE__	):
						if len(SCREAMING_SNAKE_CASE__	) < 2:
												return collection
						snake_case_       =     randrange(len(SCREAMING_SNAKE_CASE__	)	)  # Use random element as pivot
						snake_case_       =     collection[pivot_index]
						snake_case_       =     []  # All elements greater than pivot
						snake_case_       =     []  # All elements less than or equal to pivot

						for element in collection[:pivot_index]:
												(greater if element > pivot else lesser).append(SCREAMING_SNAKE_CASE__	)

						for element in collection[pivot_index + 1 :]:
												(greater if element > pivot else lesser).append(SCREAMING_SNAKE_CASE__	)

						return [*quick_sort(SCREAMING_SNAKE_CASE__	), pivot, *quick_sort(SCREAMING_SNAKE_CASE__	)]


if __name__ == "__main__":
					lowerCAmelCase_	     =     input('''Enter numbers separated by a comma:\n''').strip()
					lowerCAmelCase_	     =     [int(item) for item in user_input.split(''',''')]
					print(quick_sort(unsorted))