def multiply_two_polynomials(polynomial_1: list, polynomial_2: list) -> list:
    """
    This function expects two `polynomials` and returns a `polynomial` that contains
    their `produce`.

    :param polynomial_1: First polynomial
    :param polynomial_2: Second polynomial
    :return: A polynomial representing the produce of the two polynomials
    """
    # initializing a list that is big enough to store the coefficients for every power of 'X'
    return_polynomial = [0] * (len(polynomial_1) + len(polynomial_2) - 1)
    for i in range(len(polynomial_1)):
        for j in range(len(polynomial_2)):
            # updating the coefficient to the appropriate value
            return_polynomial[i + j] += polynomial_1[i] * polynomial_2[j]
    return return_polynomial