


'''simple docstring'''




def 							a_       (						lowercase							,						lowercase							,						lowercase    )			->Optional[int]:






				'''simple docstring'''

				if power < 0:
								return -1
				base %= mod
				__lowerCamelCase		:      List[Any]											=					1

				while power > 0:
								if power & 1:
												__lowerCamelCase		:      List[str]											=					(result * base) % mod
								__lowerCamelCase		:      str											=					power >> 1
								__lowerCamelCase		:      Union[str, Any]											=					(base * base) % mod

				return result





def 							a_       (						)			->Dict:






				'''simple docstring'''

				print(modular_exponential(3							,						200							,						13    )    )


if __name__ == "__main__":
				import doctest

				doctest.testmod()

				main()









'''simple docstring'''




# 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.
__lowercase  :      Tuple      		=				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 							a_       (						lowercase    )			->Any:






				'''simple docstring'''

				from diffusers.utils.testing_utils import pytest_addoption_shared

				pytest_addoption_shared(lowercase    )





def 							a_       (						lowercase    )			->str:






				'''simple docstring'''

				from diffusers.utils.testing_utils import pytest_terminal_summary_main

				__lowerCamelCase		:      Union[str, Any]											=					terminalreporter.config.getoption("--make-reports"    )
				if make_reports:
								pytest_terminal_summary_main(lowercase							,						id=lowercase    )





