
def 		lowerCAmelCase_     (     _SCREAMING_SNAKE_CASE  )   ->      list[int]:

							"""simple docstring"""






							if len(_SCREAMING_SNAKE_CASE  ) > 1:
														_UpperCAmelCase  :			Optional[int]	       =		len(_SCREAMING_SNAKE_CASE  ) // 2  # Finds the middle of the array
														_UpperCAmelCase  :			int	       =		arr[
														    :middle_length
														]  # Creates an array of the elements in the first half.
														_UpperCAmelCase  :			Optional[int]	       =		arr[
														    middle_length:
														]  # Creates an array of the elements in the second half.
														_UpperCAmelCase  :			Optional[int]	       =		len(_SCREAMING_SNAKE_CASE  )
														_UpperCAmelCase  :			int	       =		len(_SCREAMING_SNAKE_CASE  )
														merge(_SCREAMING_SNAKE_CASE  )  # Starts sorting the left.
														merge(_SCREAMING_SNAKE_CASE  )  # Starts sorting the right
														_UpperCAmelCase  :			Union[str, Any]	       =		0  # Left Counter
														_UpperCAmelCase  :			str	       =		0  # Right Counter
														_UpperCAmelCase  :			List[Any]	       =		0  # Position Counter
														while (
														    left_index < left_size and right_index < right_size
														):  # Runs until the lowers size of the left and right are sorted.
																					if left_array[left_index] < right_array[right_index]:
																												_UpperCAmelCase  :			int	       =		left_array[left_index]
																												left_index += 1
																					else:
																												_UpperCAmelCase  :			Optional[int]	       =		right_array[right_index]
																												right_index += 1
																					index += 1
														while (
														    left_index < left_size
														):  # Adds the left over elements in the left half of the array
																					_UpperCAmelCase  :			Any	       =		left_array[left_index]
																					left_index += 1
																					index += 1
														while (
														    right_index < right_size
														):  # Adds the left over elements in the right half of the array
																					_UpperCAmelCase  :			List[str]	       =		right_array[right_index]
																					right_index += 1
																					index += 1
							return arr


if __name__ == "__main__":
				import doctest

				doctest.testmod()






import math




def 		lowerCAmelCase_     (     _SCREAMING_SNAKE_CASE  )   ->      list[int]:

							"""simple docstring"""






							if not isinstance(_SCREAMING_SNAKE_CASE      ,	_SCREAMING_SNAKE_CASE  ):
														_UpperCAmelCase  :			Optional[Any]	       =		F"""Input value of [number={number}] must be an integer"""
														raise TypeError(_SCREAMING_SNAKE_CASE  )
							if number < 1:
														_UpperCAmelCase  :			Dict	       =		F"""Input value of [number={number}] must be a positive integer"""
														raise ValueError(_SCREAMING_SNAKE_CASE  )
							_UpperCAmelCase  :			List[Any]	       =		[number]
							while number != 1:
														if number % 2 == 0:
																					_UpperCAmelCase  :			List[str]	       =		math.floor(math.sqrt(_SCREAMING_SNAKE_CASE  )  )
														else:
																					_UpperCAmelCase  :			Dict	       =		math.floor(
																					    math.sqrt(_SCREAMING_SNAKE_CASE  ) * math.sqrt(_SCREAMING_SNAKE_CASE  ) * math.sqrt(_SCREAMING_SNAKE_CASE  )  )
														sequence.append(_SCREAMING_SNAKE_CASE  )
							return sequence


if __name__ == "__main__":
				import doctest

				doctest.testmod()




