# N multiply
# I {"version": "2.0", "import": ["decimal"], "typing": ["List", "Sequence"]}
def multiply(a: Sequence[int], b: Sequence[int], digit: int = 0) -> List[int]:
"""Returns the multiplication of two polynomials."""
decimal.setcontext(
decimal.Context(prec=decimal.MAX_PREC, Emax=decimal.MAX_EMAX))
if digit == 0:
digit = min(20, len(str(min(len(a), len(b)) * max(a) * max(b))))
f = f'0{digit}d'
a_dec = decimal.Decimal(''.join(format(x, f) for x in a))
b_dec = decimal.Decimal(''.join(format(x, f) for x in b))
c_dec = a_dec * b_dec
total_digit = digit * (len(a) + len(b) - 1)
c = format(c_dec, f'0{total_digit}f')
return [int(c[i:i + digit]) for i in range(0, total_digit, digit)]