#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ int i, j; int n; vectordp(1000006, 0); cin >> n; //dp[1] = 1; //dp[2] = 1; for (i = 1; i < n; i++) { for (j = i + 2; j <= i + 3; j++) { dp[j] = dp[i] + 1 + ( dp[j] ); //dp[j] = dp[i] + 1; dp[j] %= 1000000007; } } long maxn = 0, index = 0; for (i = n - 2; i <= n + 1; i++) { if (maxn < dp[i]) { maxn = dp[i]; index = i; } } if (index < n) { cout << maxn + ((n + 1) - index) << endl; } else { cout << maxn << endl; } //cout << dp[n + 1] << endl; //long sum = 0; /*for (i = 0; i < n; i++) { sum += dp[i]; sum %= 1000000007; } cout << sum << endl; */ getchar(); getchar(); return 0; }