def prodmonome(self, k):

    L = [0] * k + self.coef

    return Polynome(*L)



def __mul__(self , Q):

    n = max( len(self.coef) , len(Q.coef) )

    if n == 1:

        return Polynome(*[self.coef[0] * Q.coef[0]])



    P , Q = self.standardise(Q)

    k = n // 2

    P0 , P1 = Polynome(*P[0:k]) , Polynome(*P[k:n])

    Q0 , Q1 = Polynome(*Q[0:k]) , Polynome(*Q[k:n])



    return P0*Q0 + ((P0+P1)*(Q0+Q1)-P0*Q0-P1*Q1).prodmonome(k) + (P1*Q1).prodmonome(2*k)