



def 						_UpperCAmelCase							( snake_case     ):





					"""simple docstring"""

					if len(snake_case     ) == 1:
										return a[0], a[0]
					else:
										# split A into half.
										_lowerCAmelCase         =       a[: len(snake_case     ) // 2]
										_lowerCAmelCase         =       a[len(snake_case     ) // 2 :]

										# 2 sub problems, 1/2 of original size.
										_lowerCAmelCase      ,      _lowerCAmelCase         =       max_difference(snake_case     )
										_lowerCAmelCase      ,      _lowerCAmelCase         =       max_difference(snake_case     )

										# get min of first and max of second
										# linear time
										_lowerCAmelCase         =       min(snake_case     )
										_lowerCAmelCase         =       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()





def 			UpperCamelCase       (				lowerCAmelCase__ = 30						):
					'''simple docstring'''
					lowercase		      =		exponent + 2
					lowercase		      =		(1 + 5**0.5) / 2
					lowercase		      =		(phi**fibonacci_index - (phi - 1) ** fibonacci_index) / 5**0.5

					return int(lowerCAmelCase__						)


if __name__ == "__main__":
							print(F'{solution() = }')




