#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define full(c) c.begin(), c.end() #define vector2d(name,type,h,w,init) vector> name(h,vector(w,init)) const int PRIME = 1000000007; const int INF = (int) 1e9; const int INT_INF = 2147483647; const long long int LL_INF = 9223372036854775807; const double PI = acos(-1); const double EPS = 0.0001; typedef unsigned long long int ull; typedef long long int ll; using namespace std; int main() { //cin.tie(0); //ios::sync_with_stdio(false); int n; cin >> n; vector dp(n + 1, 1); for (int i = 2; i <= n; i++) { dp[i] = dp[i - 2] + dp[i - 1]; } cout << dp[n] << endl; return 0; }