#include<iostream>using namespace std;
int main(void)
{
long long a[100];
int i,n;
a[1]=1;
a[2]=2;
for(i=3;i<=50;++i)
a[i]=a[i-1]+a[i-2];
while(cin>>n)
{
cout<<a[n]<<endl;
}
}
/*
(1)先铺好n-1个格,有f(n-1)个方法,再铺第n层的时候只有一种方法,所以总方法是1*f(n-1);
(2)先铺好n-2格,有f(n-2)个方法,再铺后面两层的时候只能两个都横着铺(否则与第一种情况重复),所以也只有一种;
*/