#include <cstdio> #include <iostream> #include <sstream> #include <fstream> #include <iomanip> #include <algorithm> #include <cmath> #include <string> #include <vector> #include <list> #include <queue> #include <stack> #include <set> #include <map> #include <bitset> #include <numeric> #include <limits> #include <climits> #include <cfloat> #include <functional> using namespace std; const int MOD = 1000000007; int main() { int n; cin >> n; vector<int> dp(3); dp[0] = 1; for(int i=0; i<n; ++i){ vector<int> nextDp(3); for(int j=0; j<3; ++j){ if(j > 0){ nextDp[0] += dp[j]; nextDp[0] %= MOD; } if(j < 2){ nextDp[j+1] += dp[j]; nextDp[j+1] %= MOD; } } dp.swap(nextDp); } int ans = 0; for(int i=0; i<3; ++i){ ans += dp[i]; ans %= MOD; } cout << ans << endl; return 0; }