from math import pi, e, cos, sin

def FFT(array, n, inverse):
    if n == 1:
        return
    theta = (pi*2) / n
    if inverse:
        Wn = pow(e, (-2*pi*1j)/ n)
    else:
        Wn = pow(e, (2*pi*1j)/ n)
        
    W = 1

    a = [0]* (n/2)
    b = [0]* (n/2)

    for i in xrange(n):
        if (i & 1):
            b[i/2] = array[i]
        else:
            a[i/2] = array[i]

    FFT(a, n/2, inverse)
    FFT(b, n/2, inverse)

    for i in xrange(n/2):
        array[i] = a[i] + W*b[i]
        array[i+n/2] = a[i] - W*b[i]
        W *= Wn
       
a = [1,1,2,0,0,0,0,0]
b = [1,3,0,0,0,0,0,0]

FFT(a, 8, 0)
FFT(b, 8, 0)

res = []
#print a
#print b
for i in xrange(8):
    res.append(a[i]*b[i])
FFT(res, 8, 1)
for i in xrange(8):
    res[i] /= 8

for i in res:
    print i.real
