#include #define NAME "" #define ll long long #define F(i,a,b) for(int i=(a);i<(b);++i) #define fod(i,a,b) for(int i=(a);i<=(b);++i) #define rep(i,a,b) for(int i=(a);i>=(b);--i) #define f0(i,n) for(int i=0;i #define mll map #define vi vector #define vll vector #define fi first #define se second #define pb push_back #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size() #define el "\n" #define lcm(a, b) (a * b) / __gcd(a, b); #define ms(f, s) memset(f, s, sizeof(f)); using namespace std; typedef long double db; typedef pair pii; typedef pair pll; const long long INF=1e18+9; const int MOD=1e9+7; const int MAXN=1e6+5; void file(){ freopen(NAME".INP","r",stdin); freopen(NAME".OUT","w",stdout); } int main(){ ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); //file(); int N; cin >> N; vll dp(N+1, 0); dp[0] = dp[1] = 1; fod(i,2,N) { dp[i] = dp[i-1] + dp[i-2]; } cout << dp[N] << endl; return 0; }