def mantPN_mul(x, h, N):
    """
    Find the product of two mantPN.

    Parameters
    ----------
    x, h : mantPN objects, both must have N elements!

    Returns
    -------
    out : (x * h)[:N]

    Examples
    --------
    >>> mantPN_mul([1, 2, 3], [9, 5, 1], 3)
    [9, 23, 38]

    >>> mantPN_mul([1, 2, 3], [9., 5, 1], 3)
    [9.0, 23.0, 38.0]

    dtype=object
    >>> from fractions import Fraction
    >>> p12 = [Fraction('1/2'), 10, 2]
    >>> p12
    [Fraction(1, 2), 10, 2]
    >>> p13 = [Fraction('1/3'), 100, 0]
    >>> p13
    [Fraction(1, 3), 100, 0]
    >>> mantPN_mul(p12, p13, 3)
    [Fraction(1, 6), Fraction(160, 3), Fraction(3002, 3)]

    >>> mantPN_mul([Fraction('1/2'), 10, 2.], [Fraction('1/3'), 100, 0], 3)
    [Fraction(1, 6), Fraction(160, 3), 1000.6666666666666]

    """
    zero = (x[0]+h[0])*0 # zero of common-type of x and y
    y = [zero for __ in range(N)]     # y = [zero]*N
    for k in range(N):
      for j in range(k+1):
        y[k] = y[k] + x[k-j]*h[j]
    return y
    
    #y = np.convolve(x, h, mode='full') #'same' - max(M, N);  'full' - M+N-1
    #return y[:N]