
"""simple docstring"""







def        __lowerCAmelCase							(_UpperCamelCase			,    _UpperCamelCase			,    _UpperCamelCase						):
	if right <= left:
		return
	__lowerCAmelCase     :		Optional[int]		     = left
	__lowerCAmelCase     :		List[Any]		     = right
	__lowerCAmelCase     :		Optional[Any]		     = sorting[left]
	while i <= b:
		if sorting[i] < pivot:
			__lowerCAmelCase     ,  __lowerCAmelCase     :		str		     = sorting[i], sorting[a]
			a += 1
			i += 1
		elif sorting[i] > pivot:
			__lowerCAmelCase     ,  __lowerCAmelCase     :		Tuple		     = sorting[i], sorting[b]
			b -= 1
		else:
			i += 1
	quick_sort_apartition(_UpperCamelCase			,    _UpperCamelCase			,    a - 1						)
	quick_sort_apartition(_UpperCamelCase			,    b + 1			,    _UpperCamelCase						)
def        __lowerCAmelCase							(_UpperCamelCase			,    _UpperCamelCase			,    _UpperCamelCase						):
	if left < right:
		__lowerCAmelCase     :		Any		     = lomuto_partition(_UpperCamelCase			,    _UpperCamelCase			,    _UpperCamelCase						)
		quick_sort_lomuto_partition(_UpperCamelCase			,    _UpperCamelCase			,    pivot_index - 1						)
		quick_sort_lomuto_partition(_UpperCamelCase			,    pivot_index + 1			,    _UpperCamelCase						)
def        __lowerCAmelCase							(_UpperCamelCase			,    _UpperCamelCase			,    _UpperCamelCase						):
	__lowerCAmelCase     :		Union[str, Any]		     = sorting[right]
	__lowerCAmelCase     :		Tuple		     = left
	for i in range(_UpperCamelCase			,    _UpperCamelCase						):
		if sorting[i] < pivot:
			__lowerCAmelCase     ,  __lowerCAmelCase     :		Optional[Any]		     = sorting[i], sorting[store_index]
			store_index += 1
	__lowerCAmelCase     ,  __lowerCAmelCase     :		Optional[Any]		     = sorting[store_index], sorting[right]
	return store_index
def        __lowerCAmelCase							(_UpperCamelCase						):
	if len(_UpperCamelCase						) <= 1:
		return sorting
	return (
	    three_way_radix_quicksort([i for i in sorting if i < sorting[0]]						)
	    + [i for i in sorting if i == sorting[0]]
	    + three_way_radix_quicksort([i for i in sorting if i > sorting[0]]						)
	)


if __name__ == "__main__":
							import doctest

							doctest.testmod(verbose=True)

							lowerCamelCase__     =						input("""Enter numbers separated by a comma:\n""").strip()
							lowerCamelCase__     =						[int(item) for item in user_input.split(""",""")]
							quick_sort_apartition(unsorted, 0, len(unsorted) - 1)
							print(unsorted)

"""simple docstring"""







def        __lowerCAmelCase							(_UpperCamelCase = 10**6						):

	if n <= 0:
		raise ValueError('Please enter an integer greater than 0'						)

	__lowerCAmelCase     :		Optional[Any]		     = list(range(n + 1						)						)
	for number in range(2			,    n + 1						):
		if phi[number] == number:
			phi[number] -= 1
			for multiple in range(number * 2			,    n + 1			,    _UpperCamelCase						):
				__lowerCAmelCase     :		Tuple		     = (phi[multiple] // number) * (number - 1)

	__lowerCAmelCase     :		Any		     = 1
	for number in range(1			,    n + 1						):
		if (answer / phi[answer]) < (number / phi[number]):
			__lowerCAmelCase     :		List[Any]		     = number

	return answer


if __name__ == "__main__":
							print(solution())