#include #include #include #include #define REP(i, n) for(int i = 0; i < n; i++) #define REPR(i, n) for(int i = n - 1; i >= 0; i--) #define FOR(i, m, n) for(int i = m; i < n; i++) using namespace std; template int maxReturn(T a, T b) {if (a > b) {return a;} else {return b;}} template int minReturn(T a, T b) {if (a < b) {return a;} else {return b;}} int main(void){ int N; cin >> N; vector dp; REP(i, N) { if (i == 0 || i == 1) dp.push_back(i+1); else dp.push_back(dp[i-1] + dp[i-2]); } cout << dp[N-1] << endl; }