



import math
from timeit import timeit






def 			__lowercase     (				a__     )       ->				int:
							__SCREAMING_SNAKE_CASE								=      0
							__SCREAMING_SNAKE_CASE								=      abs(a__     )
							while True:
														__SCREAMING_SNAKE_CASE								=      n // 10
														digits += 1
														if n == 0:
																					break
							return digits






def 			__lowercase     (				a__     )       ->				int:
							return 1 if n == 0 else math.floor(math.log(abs(a__     )							,     10     ) + 1     )






def 			__lowercase     (				a__     )       ->				int:
							return len(str(abs(a__     )     )     )






def 			__lowercase     (				)       ->				None:
							from collections.abc import Callable

							def benchmark_a_function(a__							,     a__     ) -> None:
														__SCREAMING_SNAKE_CASE								=      f"""{func.__name__}({value})"""
														__SCREAMING_SNAKE_CASE								=      timeit(f"""__main__.{call}"""							,     setup='import __main__'     )
														print(f"""{call}: {func(a__     )} -- {timing} seconds"""     )

							for value in (26_21_44, 11_25_89_99_06_84_26_24, 1_26_76_50_60_02_28_22_94_01_49_67_03_20_53_76):
														for func in (num_digits, num_digits_fast, num_digits_faster):
																					benchmark_a_function(a__							,     a__     )
														print()


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			benchmark()











def 			__lowercase     (				a__							,     a__     )       ->				List[str]:
							if n == 0:
														return 1

							elif n % 2 == 1:
														return binary_exponentiation(a__							,     n - 1     ) * a

							else:
														__SCREAMING_SNAKE_CASE								=      binary_exponentiation(a__							,     n / 2     )
														return b * b


if __name__ == "__main__":
			try:
						lowerCAmelCase__	:  str 		=int(input('''Enter Base : ''').strip())
						lowerCAmelCase__	:  Optional[int] 		=int(input('''Enter Power : ''').strip())
			except ValueError:
						print('''Invalid literal for integer''')

			lowerCAmelCase__	:  Any 		=binary_exponentiation(BASE, POWER)
			print(F'''{BASE}^({POWER}) : {RESULT}''')






