#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int n;
vector<int> res;
vector<int> add(vector<int>&a,vector<int>& b)
{
if(a.size() < b.size()) return add(b,a);
vector<int> c;
int t;
for(int i = 0;i < a.size();i++)
{
t += a[i];
if(i < b.size()) t += b[i];
c.push_back(t%10);
t/=10;
}
if(t) c.push_back(t);
while(c.size() && c.back() == 0) c.pop_back();
return c;
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n;
if(n < 3)
{
cout<<n;
return 0;
}
vector<int> t1,t2;
t1.push_back(1);t2.push_back(2);
for(int i = 3;i <= n;i ++)
{
res = add(t1,t2);
t1.assign(t2.begin(),t2.end());
t2.assign(res.begin(),res.end());
}
for(int i = res.size()-1;i >= 0;i --) cout<<res[i];
return 0;
}