
'''simple docstring'''
def 					_UpperCamelCase		(    SCREAMING_SNAKE_CASE__      ,    SCREAMING_SNAKE_CASE__      ,    SCREAMING_SNAKE_CASE__       )   ->				Optional[int]:


		'''simple docstring'''


		assert b != 0, "This cannot accept modulo that is == 0"
		if n == 0:
				return 1

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

		snake_case   :    Optional[Any]			       =		bin_exp_mod(UpperCamelCase__      ,    n / 2      ,    UpperCamelCase__       )
		return (r * r) % b


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

						print(bin_exp_mod(BASE, POWER, MODULO))









# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
_lowerCamelCase       =	abspath(join(dirname(dirname(dirname(__file__))), 'src'))
sys.path.insert(1, git_repo_path)


# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='ignore', category=FutureWarning)






def  SCREAMING_SNAKE_CASE__							(				UpperCamelCase__:							Tuple			):
		from transformers.testing_utils import pytest_addoption_shared

		pytest_addoption_shared(UpperCamelCase__			)






def  SCREAMING_SNAKE_CASE__							(				UpperCamelCase__:							Tuple			):
		from transformers.testing_utils import pytest_terminal_summary_main

		SCREAMING_SNAKE_CASE__								=					terminalreporter.config.getoption("""--make-reports"""			)
		if make_reports:
				pytest_terminal_summary_main(UpperCamelCase__    ,      id=UpperCamelCase__			)