#include using namespace std; int N; const int MAX_N = 1000010; int dp[MAX_N][3]; const int MOD = 1000000007; int memo(int pos, int k) { if (k >= 3) { return 0; } if (pos >= N) { return 1; } int &res = dp[pos][k]; if (res >= 0) { return res; } res = 0; // ken res += memo(pos + 1, k + 1); res %= MOD; if (k > 0) { // pa res += memo(pos + 1, 0); res %= MOD; } return res; } int main() { cin >> N; memset(dp, -1, sizeof(dp)); cout << memo(0, 0) << endl; }