def multiply(num1, num2):
if len(num1) == 1 and len(num2) == 1:
return int(num1) * int(num2)
n = max(len(num1), len(num2))
n_half = n // 2
num1_high = num1[:len(num1) - n_half]
num1_low = num1[len(num1) - n_half:]
num2_high = num2[:len(num2) - n_half]
num2_low = num2[len(num2) - n_half:]
z0 = multiply(num1_low, num2_low)
z1 = multiply(str(int(num1_low) + int(num1_high)), str(int(num2_low) + int(num2_high)))
z2 = multiply(num1_high, num2_high)
return z2 * (10 ** (2 * n_half)) + (z1 - z2 - z0) * (10 ** n_half) + z0
a = input()
b = input()
print(multiply(a, b))