

'''simple docstring'''


def     SCREAMING_SNAKE_CASE(	UpperCamelCase ,UpperCamelCase	)     ->     Optional[int]:
	if len(str(_lowerCamelCase	)	) == 1 or len(str(_lowerCamelCase	)	) == 1:
		return a * b

	UpperCAmelCase_		:   int													=       max(len(str(_lowerCamelCase	)	) ,len(str(_lowerCamelCase	)	)	)
	UpperCAmelCase_		:   Any													=       ma // 2

	UpperCAmelCase_		:   Union[str, Any]													=       divmod(_lowerCamelCase ,1_0**ma	)
	UpperCAmelCase_		:   Tuple													=       divmod(_lowerCamelCase ,1_0**ma	)

	UpperCAmelCase_		:   str													=       karatsuba(_lowerCamelCase ,_lowerCamelCase	)
	UpperCAmelCase_		:   Optional[Any]													=       karatsuba((aa + aa) ,(ba + ba)	)
	UpperCAmelCase_		:   str													=       karatsuba(_lowerCamelCase ,_lowerCamelCase	)

	return (z * 1_0 ** (2 * ma)) + ((y - z - x) * 1_0 ** (ma)) + (x)







def     SCREAMING_SNAKE_CASE(	)     ->     int:
	print(karatsuba(1_5_4_6_3 ,2_3_4_8_9	)	)


if __name__ == "__main__":
						main()














"""simple docstring"""
from __future__ import annotations






def 			lowerCamelCase_    (		_lowerCamelCase							):
 lowerCamelCase__	:     int
 lowerCamelCase__	:     list[str]								=		list(_lowerCamelCase							)
 lowerCamelCase__							,	lowerCamelCase__	:     Union[str, Any]								=		_vector[:-1], int(_vector[-1]							)
 lowerCamelCase__	:     list[int]								=		[int(_lowerCamelCase							) for digit in __vector]

 vector.reverse()
 for i, digit in enumerate(_lowerCamelCase							):
  if i & 1 == 0:
   lowerCamelCase__	:     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")

