





'''simple docstring'''

from __future__ import annotations







def 							UpperCAmelCase_    (	lowerCAmelCase_		,							lowerCAmelCase_							):

				"""simple docstring"""






				lowercase         = []
				create_all_state(1		,							lowerCAmelCase_		,							lowerCAmelCase_		,							[]		,							lowerCAmelCase_							)
				return result







def 							UpperCAmelCase_    (	lowerCAmelCase_		,							lowerCAmelCase_		,							lowerCAmelCase_		,							lowerCAmelCase_		,							lowerCAmelCase_		,							):

				"""simple docstring"""






				if level == 0:
								total_list.append(current_list[:]							)
								return

				for i in range(lowerCAmelCase_		,							total_number - level + 2							):
								current_list.append(lowerCAmelCase_							)
								create_all_state(i + 1		,							lowerCAmelCase_		,							level - 1		,							lowerCAmelCase_		,							lowerCAmelCase_							)
								current_list.pop()







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				for i in total_list:
								print(*lowerCAmelCase_							)


if __name__ == "__main__":
			__lowerCamelCase : str											=			4
			__lowerCamelCase : Union[str, Any]											=			2
			__lowerCamelCase : List[Any]											=			generate_all_combinations(n, k)
			print_all_state(total_list)











'''simple docstring'''

from functools import lru_cache







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				lowercase         = 2
				lowercase         = set()
				while i * i <= n:
								if n % i:
												i += 1
								else:
												n //= i
												factors.add(lowerCAmelCase_							)
				if n > 1:
								factors.add(lowerCAmelCase_							)
				return factors







@lru_cache
def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				return len(unique_prime_factors(lowerCAmelCase_							)							)







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				return len(set(lowerCAmelCase_							)							) in (0, 1)







def 							UpperCAmelCase_    (	lowerCAmelCase_							):

				"""simple docstring"""






				lowercase         = 2

				while True:
								# Increment each value of a generated range
								lowercase         = [base + i for i in range(lowerCAmelCase_							)]

								# Run elements through out unique_prime_factors function
								# Append our target number to the end.
								lowercase         = [upf_len(lowerCAmelCase_							) for x in group]
								checker.append(lowerCAmelCase_							)

								# If all numbers in the list are equal, return the group variable.
								if equality(lowerCAmelCase_							):
												return group

								# Increment our base variable by 1
								base += 1







def 							UpperCAmelCase_    (	lowerCAmelCase_ = 4							):

				"""simple docstring"""






				lowercase         = run(lowerCAmelCase_							)
				return results[0] if len(lowerCAmelCase_							) else None


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




