
"""simple docstring"""


def      lowerCAmelCase_     (	snake_case_	:    Optional[int]							,					snake_case_	:    Optional[int]							,					snake_case_	:    Optional[Any]    )     ->Tuple:
			assert b != 0, "This cannot accept modulo that is == 0"
			if n == 0:
						return 1

			if n % 2 == 1:
						return (bin_exp_mod(snake_case_							,					n - 1							,					snake_case_    ) * a) % b

			lowerCamelCase__			:  List[str]  =bin_exp_mod(snake_case_							,					n / 2							,					snake_case_    )
			return (r * r) % b


if __name__ == "__main__":
							try:
														lowerCAmelCase			=		int(input("""Enter Base : """).strip())
														lowerCAmelCase			=		int(input("""Enter Power : """).strip())
														lowerCAmelCase			=		int(input("""Enter Modulo : """).strip())
							except ValueError:
														print("""Invalid literal for integer""")

							print(bin_exp_mod(BASE, POWER, MODULO))

"""simple docstring"""


import unittest
import warnings

from datasets.utils import experimental






@experimental
def      lowerCAmelCase_     (	)     ->Optional[Any]:
			return "success"

class 					A_			(  unittest.TestCase     ):



							"""simple docstring"""






							def    UpperCAmelCase__							(						self						:int ):





										"""simple docstring"""

										with warnings.catch_warnings(record=lowerCamelCase_ ) as w:
													warnings.simplefilter('always' )
													self.assertEqual(dummy_function()  ,							'success' )
										self.assertEqual(len(lowerCamelCase_ )  ,							1 )