




'''simple docstring'''






def       __lowerCAmelCase (   snake_case__						):
			__UpperCamelCase				:      int									=       1.3
			__UpperCamelCase				:      Any									=       len(snake_case__						)
			__UpperCamelCase				:      Dict									=       False

			while not completed:
						# Update the gap value for a next comb
						__UpperCamelCase				:      int									=       int(gap / shrink_factor						)
						if gap <= 1:
									__UpperCamelCase				:      List[str]									=       True

						__UpperCamelCase				:      List[str]									=       0
						while index + gap < len(snake_case__						):
									if data[index] > data[index + gap]:
												# Swap values
												__UpperCamelCase		, __UpperCamelCase				:      int									=       data[index + gap], data[index]
												__UpperCamelCase				:      Any									=       False
									index += 1

			return data


if __name__ == "__main__":
				import doctest

				doctest.testmod()

				_lowerCAmelCase				     = input('''Enter numbers separated by a comma:\n''').strip()
				_lowerCAmelCase				     = [int(item) for item in user_input.split(''',''')]
				print(comb_sort(unsorted))









'''simple docstring'''






from doctest import testmod
from math import sqrt

def       __lowerCAmelCase (   snake_case__						):
			__UpperCamelCase				:      list[int]									=       []
			if num < 1:
						return facs
			facs.append(1						)
			if num == 1:
						return facs
			facs.append(snake_case__						)
			for i in range(2 ,				int(sqrt(snake_case__						)						) + 1						):
						if num % i == 0:  # If i is a factor of num
									facs.append(snake_case__						)
									__UpperCamelCase				:      List[str]									=       num // i  # num//i is the other factor of num
									if d != i:  # If d and i are distinct
												facs.append(snake_case__						)  # we have found another factor
			facs.sort()
			return facs


if __name__ == "__main__":
				testmod(name='''factors_of_a_number''', verbose=True)



