


def 							UpperCAmelCase				(     UpperCAmelCase      )->		list:







					'''simple docstring'''



					SCREAMING_SNAKE_CASE_	      =       len(UpperCAmelCase      )

					# Set the gap value to be decreased by a factor of 1.3
					# after each iteration
					SCREAMING_SNAKE_CASE_	      =       1.3

					# Continue sorting until the gap is 1
					while gap > 1:
										# Decrease the gap value
										SCREAMING_SNAKE_CASE_	      =       int(gap / shrink      )

										# Sort the elements using insertion sort
										for i in range(UpperCAmelCase				,len(UpperCAmelCase      )      ):
															SCREAMING_SNAKE_CASE_	      =       collection[i]
															SCREAMING_SNAKE_CASE_	      =       i
															while j >= gap and collection[j - gap] > temp:
																				SCREAMING_SNAKE_CASE_	      =       collection[j - gap]
																				j -= gap
															SCREAMING_SNAKE_CASE_	      =       temp

					return collection


if __name__ == "__main__":
		import doctest

		doctest.testmod()






def 							UpperCAmelCase				(     UpperCAmelCase      )->		bool:







					'''simple docstring'''



					if not isinstance(UpperCAmelCase				,UpperCAmelCase      ):
										SCREAMING_SNAKE_CASE_	      =       f'''Input value of [number={number}] must be an integer'''
										raise TypeError(UpperCAmelCase      )
					if number < 0 or number % 2 == 1:
										return False
					SCREAMING_SNAKE_CASE_	      =       int(number**0.5      )
					return number == number_sqrt * (number_sqrt + 1)


if __name__ == "__main__":
		import doctest

		doctest.testmod()


