
"""simple docstring"""




import random

def lowercase_						(     _snake_case		):
							SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     num - 1
							SCREAMING_SNAKE_CASE__		: Optional[int]     =     0

							while s % 2 == 0:
														SCREAMING_SNAKE_CASE__		: Any     =     s // 2
														t += 1

							for _ in range(5		):
														SCREAMING_SNAKE_CASE__		: int     =     random.randrange(2     ,num - 1		)
														SCREAMING_SNAKE_CASE__		: str     =     pow(_snake_case     ,_snake_case     ,_snake_case		)
														if v != 1:
																					SCREAMING_SNAKE_CASE__		: str     =     0
																					while v != (num - 1):
																												if i == t - 1:
																																			return False
																												else:
																																			SCREAMING_SNAKE_CASE__		: List[Any]     =     i + 1
																																			SCREAMING_SNAKE_CASE__		: List[Any]     =     (v**2) % num
							return True

def lowercase_						(     _snake_case		):
							if num < 2:
														return False

							SCREAMING_SNAKE_CASE__		: Optional[Any]     =     [
							    2,
							    3,
							    5,
							    7,
							    11,
							    13,
							    17,
							    19,
							    23,
							    29,
							    31,
							    37,
							    41,
							    43,
							    47,
							    53,
							    59,
							    61,
							    67,
							    71,
							    73,
							    79,
							    83,
							    89,
							    97,
							    101,
							    103,
							    107,
							    109,
							    113,
							    127,
							    131,
							    137,
							    139,
							    149,
							    151,
							    157,
							    163,
							    167,
							    173,
							    179,
							    181,
							    191,
							    193,
							    197,
							    199,
							    211,
							    223,
							    227,
							    229,
							    233,
							    239,
							    241,
							    251,
							    257,
							    263,
							    269,
							    271,
							    277,
							    281,
							    283,
							    293,
							    307,
							    311,
							    313,
							    317,
							    331,
							    337,
							    347,
							    349,
							    353,
							    359,
							    367,
							    373,
							    379,
							    383,
							    389,
							    397,
							    401,
							    409,
							    419,
							    421,
							    431,
							    433,
							    439,
							    443,
							    449,
							    457,
							    461,
							    463,
							    467,
							    479,
							    487,
							    491,
							    499,
							    503,
							    509,
							    521,
							    523,
							    541,
							    547,
							    557,
							    563,
							    569,
							    571,
							    577,
							    587,
							    593,
							    599,
							    601,
							    607,
							    613,
							    617,
							    619,
							    631,
							    641,
							    643,
							    647,
							    653,
							    659,
							    661,
							    673,
							    677,
							    683,
							    691,
							    701,
							    709,
							    719,
							    727,
							    733,
							    739,
							    743,
							    751,
							    757,
							    761,
							    769,
							    773,
							    787,
							    797,
							    809,
							    811,
							    821,
							    823,
							    827,
							    829,
							    839,
							    853,
							    857,
							    859,
							    863,
							    877,
							    881,
							    883,
							    887,
							    907,
							    911,
							    919,
							    929,
							    937,
							    941,
							    947,
							    953,
							    967,
							    971,
							    977,
							    983,
							    991,
							    997,
							]

							if num in low_primes:
														return True

							for prime in low_primes:
														if (num % prime) == 0:
																					return False

							return rabin_miller(_snake_case		)

def lowercase_						(     _snake_case = 1_024		):
							while True:
														SCREAMING_SNAKE_CASE__		: Tuple     =     random.randrange(2 ** (keysize - 1)     ,2 ** (keysize)		)
														if is_prime_low_num(_snake_case		):
																					return num


if __name__ == "__main__":
					UpperCAmelCase__   :					Tuple												=				generate_large_prime()
					print(('Prime number:', num))
					print(('is_prime_low_num:', is_prime_low_num(num)))






"""simple docstring"""




UpperCAmelCase__   :					Dict												=				[
    (1_0_0_0, 'M'),
    (9_0_0, 'CM'),
    (5_0_0, 'D'),
    (4_0_0, 'CD'),
    (1_0_0, 'C'),
    (9_0, 'XC'),
    (5_0, 'L'),
    (4_0, 'XL'),
    (1_0, 'X'),
    (9, 'IX'),
    (5, 'V'),
    (4, 'IV'),
    (1, 'I'),
]

def lowercase_						(     _snake_case		):
							SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     {"""I""": 1, """V""": 5, """X""": 10, """L""": 50, """C""": 100, """D""": 500, """M""": 1_000}
							SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     0
							SCREAMING_SNAKE_CASE__		: Union[str, Any]     =     0
							while place < len(_snake_case		):
														if (place + 1 < len(_snake_case		)) and (vals[roman[place]] < vals[roman[place + 1]]):
																					total += vals[roman[place + 1]] - vals[roman[place]]
																					place += 2
														else:
																					total += vals[roman[place]]
																					place += 1
							return total

def lowercase_						(     _snake_case		):
							SCREAMING_SNAKE_CASE__		: Optional[Any]     =     []
							for arabic, roman in ROMAN:
														((SCREAMING_SNAKE_CASE__)   ,   (SCREAMING_SNAKE_CASE__))		: List[Any]     =     divmod(_snake_case     ,_snake_case		)
														result.append(roman * factor		)
														if number == 0:
																					break
							return "".join(_snake_case		)


if __name__ == "__main__":
					import doctest

					doctest.testmod()




