#include<bits/stdc++.h>
using namespace std;
using ll=long;
using pll=pair<ll,ll>;
#define vec(type,name,...) vector<type>name(__VA_ARGS__)
#define each(i,a) for(auto&i:a)
#define name4(a,b,c,d,...) d
#define rep(...) name4(__VA_ARGS__,rep3,rep2,rep1)(__VA_ARGS__)
#define rep1(a) rep3(i,0,a)
#define rep2(i,a) rep3(i,0,a)
#define rep3(i,a,b) for(ll i=a;i<b;i++)
const ll LINF=0x1fffffffffffffff;
template <class T>bool update_min(T&a,const T&b){if(a>b){a=b;return 1;}return 0;}
template <class T>bool update_max(T&a,const T&b){if(a<b){a=b;return 1;}return 0;}


signed main(){
	ll n;
	cin>>n;
	vector<ll>a(n+1);
	a[0]=1;
	rep(n){
		a[i+1]+=a[i];
		if(i+1<n)a[i+2]+=a[i];
	}
	cout<<a[n]<<endl;
}