#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define sz size() #define pb push_back #define mp make_pair #define fi first #define se second #define all(c) (c).begin(), (c).end() #define rep(i,a,b) for(int i=(a);i<(b);++i) #define clr(a, b) memset((a), (b) ,sizeof(a)) #define MOD 1000000007 long long dp[1000005][10]; int main(){ int n; cin>>n; n++; clr(dp,0); dp[0][0]=1; rep(i,1,n){ dp[i][1]+=dp[i-1][0]; dp[i][1]%=MOD; dp[i][2]+=dp[i-1][1]; dp[i][2]%=MOD; dp[i][0]+=dp[i-1][1]; dp[i][0]%=MOD; dp[i][0]+=dp[i-1][2]; dp[i][0]%=MOD; } long long ans = 0; rep(i,0,3){ ans += dp[n-1][i]; ans%=MOD; } cout << ans << endl; return 0; }