identity_matrix = [[1,0],[0,1]]
x = [[0,1],[1,1]]

def matrix_multiply(a, b):
    return [[a[0][0]*b[0][0] + a[0][1]*b[1][0],
             a[0][0]*b[0][1] + a[0][1]*b[1][1]],
            [a[1][0]*b[0][0] + a[1][1]*b[1][0],
             a[1][0]*b[0][1] + a[1][1]*b[1][1]]]
    
def matrix_power(m, n):
    # fill in details
    return result
    
    
def fib (n) :
    return matrix_power(x, n)[0][1] 
    
print [fib(i) for i in range(20)]