"""simple docstring"""






def     UpperCAmelCase__ (       lowerCAmelCase__  :str	)				->					bool:
      '''simple docstring'''


      return credit_card_number.startswith(("""34""", """35""", """37""", """4""", """5""", """6""")	)


def     UpperCAmelCase__ (       lowerCAmelCase__  :str	)				->					bool:
      '''simple docstring'''


      lowercase														=			credit_card_number
      lowercase														=			0
      lowercase														=			len(lowerCAmelCase__	) - 2
      for i in range(lowerCAmelCase__      ,	-1      ,	-2	):
            #  double the value of every second digit
            lowercase														=			int(cc_number[i]	)
            digit *= 2
            # If doubling of a number results in a two digit number
            # i.e greater than 9(e.g., 6 × 2 = 12),
            # then add the digits of the product (e.g., 12: 1 + 2 = 3, 15: 1 + 5 = 6),
            # to get a single digit number.
            if digit > 9:
                  digit %= 1_0
                  digit += 1
            lowercase														=			cc_number[:i] + str(lowerCAmelCase__	) + cc_number[i + 1 :]
            total += digit

      # Sum up the remaining digits
      for i in range(len(lowerCAmelCase__	) - 1      ,	-1      ,	-2	):
            total += int(cc_number[i]	)

      return total % 1_0 == 0


def     UpperCAmelCase__ (       lowerCAmelCase__  :str	)				->					bool:
      '''simple docstring'''


      lowercase														=			f'{credit_card_number} is an invalid credit card number because'
      if not credit_card_number.isdigit():
            print(f'{error_message} it has nonnumerical characters.'	)
            return False

      if not 1_3 <= len(lowerCAmelCase__	) <= 1_6:
            print(f'{error_message} of its length.'	)
            return False

      if not validate_initial_digits(lowerCAmelCase__	):
            print(f'{error_message} of its first two digits.'	)
            return False

      if not luhn_validation(lowerCAmelCase__	):
            print(f'{error_message} it fails the Luhn check.'	)
            return False

      print(f'{credit_card_number} is a valid credit card number.'	)
      return True


if __name__ == "__main__":
       import doctest

       doctest.testmod()
       validate_credit_card_number("""4111111111111111""")
       validate_credit_card_number("""32323""")




"""simple docstring"""






from __future__ import annotations

import math


def     UpperCAmelCase__ (       lowerCAmelCase__  :int	)				->					list[int]:
      '''simple docstring'''


      if num <= 0:
            lowercase														=			f'{num}: Invalid input, please enter a positive integer.'
            raise ValueError(lowerCAmelCase__	)

      lowercase														=			[True] * (num + 1)
      lowercase														=			[]
      lowercase														=			2
      lowercase														=			int(math.sqrt(lowerCAmelCase__	)	)

      while start <= end:
            # If start is a prime
            if sieve[start] is True:
                  prime.append(lowerCAmelCase__	)

                  # Set multiples of start be False
                  for i in range(start * start      ,	num + 1      ,	lowerCAmelCase__	):
                        if sieve[i] is True:
                              lowercase														=			False

            start += 1

      for j in range(end + 1      ,	num + 1	):
            if sieve[j] is True:
                  prime.append(lowerCAmelCase__	)

      return prime


if __name__ == "__main__":
       print(prime_sieve(int(input("""Enter a positive integer: """).strip())))



