

'''simple docstring'''
def       _A	(			snake_case	,							snake_case  )    ->			int:
   if a < b:
      return gcd(__lowerCAmelCase	,							__lowerCAmelCase  )
   if a % b == 0:
      return b
   return gcd(__lowerCAmelCase	,							a % b  )







def       _A	(			snake_case	,							snake_case	,							snake_case  )    ->			int:
   if y == 0:
      return 1
   _lowercase    :   Tuple      =     power(__lowerCAmelCase	,							y // 2	,							__lowerCAmelCase  ) % mod
   _lowercase    :   Tuple      =     (temp * temp) % mod
   if y % 2 == 1:
      _lowercase    :   int      =     (temp * x) % mod
   return temp







def       _A	(			snake_case  )    ->			bool:
   _lowercase    :   str      =     2
   while b < n:
      if gcd(__lowerCAmelCase	,							__lowerCAmelCase  ) == 1 and power(__lowerCAmelCase	,							n - 1	,							__lowerCAmelCase  ) != 1:
         return False
      b += 1
   return True


if __name__ == "__main__":
    _snake_case     						=						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.''')









'''simple docstring'''
def       _A	(			snake_case  )    ->			int:

   # validate:
   if not isinstance(snake_case	,							snake_case  ) or not all(
       isinstance(snake_case	,							snake_case  ) and item >= 0 for item in citations  ):
      raise ValueError("The citations should be a list of non negative integers."  )

   citations.sort()
   _lowercase    :   Tuple      =     len(snake_case  )

   for i in range(snake_case  ):
      if citations[len_citations - 1 - i] <= i:
         return i

   return len_citations


if __name__ == "__main__":
    import doctest

    doctest.testmod()






