26 lines
587 B
Python
26 lines
587 B
Python
MOD = 1000000007
|
|
|
|
def multiply_matrix(a, b) :
|
|
result = [[0,0],[0,0]]
|
|
|
|
for i in range(2) :
|
|
for j in range(2) :
|
|
temp = 0
|
|
for k in range(2) :
|
|
temp += a[i][k]*b[k][j]
|
|
result[i][j] = temp%MOD
|
|
|
|
return result
|
|
|
|
def power_matrix(adj, N) :
|
|
if N == 1 :
|
|
return adj
|
|
|
|
half = power_matrix(adj, N//2)
|
|
|
|
if N%2 == 0 :
|
|
return multiply_matrix(half, half)
|
|
else :
|
|
return multiply_matrix(multiply_matrix(half, half), adj)
|
|
|
|
print(power_matrix([[1,1], [1,0]], int(input()))[1][0]%MOD) |