



"""simple docstring"""






def 			_lowercase				(  __snake_case					,__snake_case					,__snake_case	)						->   int:

			if exponent == 1:
						return base
			if exponent % 2 == 0:
						__lowerCAmelCase      :  int												=       _modexpt(__snake_case					,exponent // 2					,__snake_case	) % modulo_value
						return (x * x) % modulo_value
			else:
						return (base * _modexpt(__snake_case					,exponent - 1					,__snake_case	)) % modulo_value


def 			_lowercase				(  __snake_case = 1_777					,__snake_case = 1_855					,__snake_case = 8	)						->   int:
			__lowerCAmelCase      :  Dict												=       base
			for _ in range(1					,__snake_case	):
						__lowerCAmelCase      :  Optional[int]												=       _modexpt(__snake_case					,__snake_case					,10**digits	)

			return result


if __name__ == "__main__":
	print(F"""{solution() = }""")




"""simple docstring"""






import re


def 			_lowercase				(  __snake_case	)						->   str:

			if len(re.findall("[ATCG]"					,__snake_case	)	) != len(__snake_case	):
						raise ValueError("Invalid Strand"	)

			return dna.translate(dna.maketrans("ATCG"					,"TAGC"	)	)


if __name__ == "__main__":
	import doctest

	doctest.testmod()