N = int(input()) P = 10 ** 9 + 7 def seki(x,y): l = [[0] * 4 for _ in range(4)] for i in range(4): for j in range(4): for k in range(4): l[i][j] = (l[i][j] + x[i][k] * y[k][j]) % P return l A = [[0,1,1,1,],[1,0,1,1,],[1,1,0,1,],[1,1,1,0]] tmp = [[1,0,0,0,],[0,1,0,0,],[0,0,1,0,],[0,0,0,1]] while N: if N & 1: tmp = seki(tmp,A) A = seki(A,A) N >>= 1 print(A[0][0])