



def       snake_case      (							A		,     A    )							->							List[Any]:




	'''simple docstring'''


	if a < b:
		return gcd(UpperCamelCase__		,     UpperCamelCase__    )
	if a % b == 0:
		return b
	return gcd(UpperCamelCase__		,     a % b    )






def       snake_case      (							A		,     A		,     A    )							->							Any:




	'''simple docstring'''


	if y == 0:
		return 1
	lowerCamelCase_							:	Any							     =							power(UpperCamelCase__		,     y // 2		,     UpperCamelCase__    ) % mod
	lowerCamelCase_							:	int							     =							(temp * temp) % mod
	if y % 2 == 1:
		lowerCamelCase_							:	Any							     =							(temp * x) % mod
	return temp






def       snake_case      (							A    )							->							List[Any]:




	'''simple docstring'''


	lowerCamelCase_							:	Optional[int]							     =							2
	while b < n:
		if gcd(UpperCamelCase__		,     UpperCamelCase__    ) == 1 and power(UpperCamelCase__		,     n - 1		,     UpperCamelCase__    ) != 1:
			return False
		b += 1
	return True


if __name__ == "__main__":
							UpperCamelCase__  =		int(input('Enter number: ').strip())
							if is_carmichael_number(number):
														print(F'{number} is a Carmichael Number.')
							else:
														print(F'{number} is not a Carmichael Number.')






# this script builds a small sample spm file tests/fixtures/test_sentencepiece_no_bos.model, with features needed by pegasus

# 1. pip install sentencepiece
#
# 2. wget https://raw.githubusercontent.com/google/sentencepiece/master/data/botchan.txt

# 3. build
import sentencepiece as spm

# pegasus:
# 1. no bos
# 2. eos_id is 1
# 3. unk_id is 2
# build a sample spm file accordingly
spm.SentencePieceTrainer.train(
    '--input=botchan.txt --model_prefix=test_sentencepiece_no_bos --bos_id=-1 --unk_id=2  --eos_id=1  --vocab_size=1000'
)

# 4. now update the fixture
# mv test_sentencepiece_no_bos.model ../../tests/fixtures/
