# 基本dp N = int(input()) dp = [[0, 0, 0, 0] for i in range(10**6+4)] # dp[X][k]=X段目に最後にk回登って行く方法 dp[0][0]=1 mod = 10**9 + 7 for i in range(1, N+1): dp[i][1] = (dp[i-1][0]+dp[i-1][2]+dp[i-1][3]) % mod dp[i][2] = (dp[i-2][0]+dp[i-2][1]+dp[i-2][3]) % mod dp[i][3] = (dp[i-3][0]+dp[i-3][1]+dp[i-3][2]) % mod ans = dp[N][1]+dp[N][2]+dp[N][3] print(ans % mod)