

from __future__ import annotations

import math
from itertools import permutations





def  _snake_case		(snake_case_					:     int  )							->		bool:

  if 1 < number < 4:
    # 2 and 3 are primes
    return True
  elif number < 2 or number % 2 == 0 or number % 3 == 0:
    # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
    return False

  # All primes number are in format of 6k +/- 1
  for i in range(5    ,       int(math.sqrt(snake_case_  ) + 1  )    ,       6  ):
    if number % i == 0 or number % (i + 2) == 0:
      return False
  return True





def  _snake_case		(snake_case_					:     int = 7  )							->		int:
  __UpperCAmelCase	:  Dict		=     ''.join(str(snake_case_  ) for i in range(1    ,       n + 1  )  )
  __UpperCAmelCase	:  Any		=     [int(''.join(snake_case_  )  ) for i in permutations(snake_case_    ,       snake_case_  )]
  __UpperCAmelCase	:  Dict		=     [num for num in perm_list if is_prime(snake_case_  )]
  return max(snake_case_  ) if pandigitals else 0


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








from __future__ import annotations





def  _snake_case		(snake_case_					:     str  )							->		bool:
  __UpperCAmelCase	:  int
  __UpperCAmelCase	:  list[str]		=     list(snake_case_  )
  __UpperCAmelCase,			__UpperCAmelCase	:  Any		=     _vector[:-1], int(_vector[-1]  )
  __UpperCAmelCase	:  list[int]		=     [int(snake_case_  ) for digit in __vector]

  vector.reverse()
  for i, digit in enumerate(snake_case_  ):
    if i & 1 == 0:
      __UpperCAmelCase	:  int		=     digit * 2
      if doubled > 9:
        doubled -= 9
      check_digit += doubled
    else:
      check_digit += digit

  return check_digit % 10 == 0


if __name__ == "__main__":
      import doctest

      doctest.testmod()
      assert is_luhn('''79927398713''')
      assert not is_luhn('''79927398714''')





