


def 							UpperCamelCase_  (				__snake_case			:						str     )->      int:




						'''simple docstring'''
						__magic_name__ 		=			__magic_name__ 		=			0
						for letter in data:
												__magic_name__ 		=			(hash_ << 4) + ord(__snake_case     )
												__magic_name__ 		=			hash_ & 0xf000_0000
												if x != 0:
																		hash_ ^= x >> 24
												hash_ &= ~x
						return hash_


if __name__ == "__main__":
					import doctest

					doctest.testmod()





def 							UpperCamelCase_  (				__snake_case			:						list[int]     )->      tuple[int, int]:




						'''simple docstring'''
						# base case
						if len(__snake_case     ) == 1:
												return a[0], a[0]
						else:
												# split A into half.
												__magic_name__ 		=			a[: len(__snake_case     ) // 2]
												__magic_name__ 		=			a[len(__snake_case     ) // 2 :]

												# 2 sub problems, 1/2 of original size.
												__magic_name__		,			__magic_name__ 		=			max_difference(__snake_case     )
												__magic_name__		,			__magic_name__ 		=			max_difference(__snake_case     )

												# get min of first and max of second
												# linear time
												__magic_name__ 		=			min(__snake_case     )
												__magic_name__ 		=			max(__snake_case     )

												# 3 cases, either (small1, big1),
												# (min_first, max_second), (small2, big2)
												# constant comparisons
												if biga - smalla > max_second - min_first and biga - smalla > biga - smalla:
																		return smalla, biga
												elif biga - smalla > max_second - min_first:
																		return smalla, biga
												else:
																		return min_first, max_second


if __name__ == "__main__":
					import doctest

					doctest.testmod()

