

'''simple docstring'''

def      __magic_name__							(			A				)      ->		tuple[int, int]:
	# base case
	if len(A				) == 1:
		return a[0], a[0]
	else:
		# split A into half.
		snake_case							=					a[: len(A				) // 2]
		snake_case							=					a[len(A				) // 2 :]

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

		# get min of first and max of second
		# linear time
		snake_case							=					min(A				)
		snake_case							=					max(A				)

		# 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()







"""simple docstring"""






import math






def 		_snake_case			(      lowercase__						:    int						)    ->							int:


			'''simple docstring'''





			return sum(int(lowercase__						) for digit in str(lowercase__						)						)






def 		_snake_case			(      lowercase__						:    int = 3_0						)    ->							int:


			'''simple docstring'''





			lowerCAmelCase_       :Union[str, Any]     	=    []
			for digit in range(2 ,	1_0_0						):
						for power in range(2 ,	1_0_0						):
									lowerCAmelCase_       :Tuple     	=    int(math.pow(lowercase__ ,	lowercase__						)						)
									if digit == digit_sum(lowercase__						):
												digit_to_powers.append(lowercase__						)

			digit_to_powers.sort()
			return digit_to_powers[n - 1]


if __name__ == "__main__":
				print(solution())






