


"""simple docstring"""
from __future__ import annotations

from functools import lru_cache
from math import ceil

__SCREAMING_SNAKE_CASE							:      List[str]						=      100

__SCREAMING_SNAKE_CASE							:      Union[str, Any]						=      set(range(3, NUM_PRIMES, 2))
primes.add(2)
__SCREAMING_SNAKE_CASE							:      int

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
				if prime not in primes:
								continue
				primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))







@lru_cache(maxsize=100			)
def   _a			( _SCREAMING_SNAKE_CASE			)      ->			set[int]:
							if number_to_partition < 0:
														return set()
							elif number_to_partition == 0:
														return {1}

							snake_case_          =						set()
							snake_case_          =						42
							snake_case_          =						42

							for prime in primes:
														if prime > number_to_partition:
																					continue
														for sub in partition(number_to_partition - prime			):
																					ret.add(sub * prime			)

							return ret







def   _a			( _SCREAMING_SNAKE_CASE = 5_000			)      ->			int | None:
							for number_to_partition in range(1			,	_SCREAMING_SNAKE_CASE			):
														if len(partition(_SCREAMING_SNAKE_CASE			)			) > number_unique_partitions:
																					return number_to_partition
							return None


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







"""simple docstring"""
def   _a			( _SCREAMING_SNAKE_CASE			)      ->			list:

							if len(_SCREAMING_SNAKE_CASE			) <= 1:
														return [tuple(_SCREAMING_SNAKE_CASE			)]

							snake_case_          =						[]

							def generate(_SCREAMING_SNAKE_CASE			,	_SCREAMING_SNAKE_CASE			):
														if k == 1:
																					res.append(tuple(arr[:]			)			)
																					return

														generate(k - 1			,	_SCREAMING_SNAKE_CASE			)

														for i in range(k - 1			):
																					if k % 2 == 0:  # k is even
																												snake_case_    ,  snake_case_          =						arr[k - 1], arr[i]
																					else:  # k is odd
																												snake_case_    ,  snake_case_          =						arr[k - 1], arr[0]
																					generate(k - 1			,	_SCREAMING_SNAKE_CASE			)

							generate(len(_SCREAMING_SNAKE_CASE			)			,	_SCREAMING_SNAKE_CASE			)
							return res


if __name__ == "__main__":
				__SCREAMING_SNAKE_CASE							:      List[Any]						=      input('Enter numbers separated by a comma:\n').strip()
				__SCREAMING_SNAKE_CASE							:      str						=      [int(item) for item in user_input.split(',')]
				print(heaps(arr))



