// test // https://yukicoder.me/submissions/246985 #include <iostream> #include <vector> #include <algorithm> #include <iterator> #include <array> #include <map> #include <stack> #include <queue> #include <set> using namespace std; int main() { long N; cin >> N; vector<long long> dp; constexpr unsigned long long m = 1e9 + 7; dp.push_back(0); dp.push_back(1); dp.push_back(2); dp.push_back(2); for (long i = 4; i <= N; ++i) { dp.push_back((dp[i - 2] + dp[i - 3]) % m); } cout << dp[N] << "\n"; return 0; }