

'''simple docstring'''





def 			__UpperCamelCase    (lowerCAmelCase					:  str     )     ->  Optional[int]:
      A    =				0
      for letter in data:
            A    =				(hash_ << 4) + ord(lowerCAmelCase     )
            A    =				hash_ & 0Xf_0_0_0_0_0_0_0
            if x != 0:
                  hash_ ^= x >> 24
            hash_ &= ~x
      return hash_


if __name__ == "__main__":
  import doctest

  doctest.testmod()






def 			__UpperCamelCase    (lowerCAmelCase					:  int     )     ->  int:
      barcode //= 10  # exclude the last digit
      A    =				False
      A    =				0

      # extract and check each digit
      while barcode != 0:
            A    =				1 if checker else 3
            s += mult * (barcode % 10)
            barcode //= 10
            A    =				not checker

      return (10 - (s % 10)) % 10


def 			__UpperCamelCase    (lowerCAmelCase					:  int     )     ->  bool:
      return len(str(lowerCAmelCase     )     ) == 13 and get_check_digit(lowerCAmelCase     ) == barcode % 10


def 			__UpperCamelCase    (lowerCAmelCase					:  str     )     ->  int:
      if str(lowerCAmelCase     ).isalpha():
            A    =				f'''Barcode \'{barcode}\' has alphabetic characters.'''
            raise ValueError(lowerCAmelCase     )
      elif int(lowerCAmelCase     ) < 0:
            raise ValueError('The entered barcode has a negative value. Try again.'     )
      else:
            return int(lowerCAmelCase     )


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  _UpperCAmelCase    	=			get_barcode(input("Barcode: ").strip())

  if is_valid(barcode):
    print(F'''\'{barcode}\' is a valid barcode.''')
  else:
    print(F'''\'{barcode}\' is NOT a valid barcode.''')



