#include using namespace std; #define INF 1001000100010001000 #define MOD 1000000007 #define EPS 1e-10 #define int long long #define rep(i, N) for (int i = 0; i < N; i++) #define Rep(i, N) for (int i = 1; i < N; i++) #define For(i, a, b) for (int i = (a); i < (b); i++) #define pb push_back #define eb emplece_back #define mp make_pair #define i_i pair #define vi vector #define vvi vector #define vb vector #define vvb vector #define vp vector< i_i > #define Edge pair< int, i_i > #define all(a) (a).begin(), (a).end() #define Int(x) int x; scanf("%lld", &x); #define int2(x, y) int x, y; scanf("%lld %lld", &x, &y); #define fir first #define sec second #define ffir first.first #define fsec first.second #define sfir second.first #define ssec second.second //int dxy[5] = {0, 1, 0, -1, 0}; // assign signed main() { Int(n); vvi dp(3, vi(n+10, 0)); dp[0][1] = 1; dp[1][2] = 1; dp[2][3] = 1; Rep(i, n) { rep(j, 3) { rep(k, 3) { if (j != k) { dp[k][i+k+1] += dp[j][i]; dp[k][i+k+1] %= MOD; } } } } int ans = 0; rep(i, 3) { ans += dp[i][n]; } cout << ans % MOD << endl; return 0; }