MOD = 10**9+7 N = int(input()) A = [[1,1,2],[1,0,0],[1,0,1]] I = [[1,0,0],[0,1,0],[0,0,1]] def matsum(A,B): C = [[0,0,0],[0,0,0],[0,0,0]] for i in range(3): for j in range(3): C[i][j] = (A[i][j]+B[i][j])%MOD return C def matmul(A,B): C = [[0,0,0],[0,0,0],[0,0,0]] for i in range(3): for j in range(3): for k in range(3): C[i][j] = (C[i][j]+A[i][k]*B[k][j])%MOD return C def matpow(A,n): if n==0: return I if n==1: return A B = matpow(A,n//2) if n%2==0: return matmul(B,B) return matmul(A,matmul(B,B)) def S(n): if n==1: return I B = matpow(A,n//2) C = matsum(I,B) if n%2==0: return matmul(C,S(n//2)) return matsum(matpow(A,n-1),matmul(C,S(n//2))) print(S(N)[0][0])