def polynomial_mul_polynomial(a, b):
    """
    Multiplication function of two polynomials.
    :param a: First polynomial.
    :param b: Second polynomial.
    :return: The result of multiplication two polynomials
    """
    number_type = type(a[0]) if a else type(b[0]) if b else float
    len_a, len_b = len(a), len(b)
    c = [number_type(0)] * (len_a + len_b)
    for i in range(len_a):
        for j in range(len_b):
            c[i + j] += a[i] * b[j]
    return c