#include #include #include #include #include #include #include using namespace std; #define For(i,l,r) for(int i=(l);i<=(r);i++) #define Down(i,r,l) for(int i=(r);i>=(l);i--) #define mset(a,x) memset(a,x,sizeof(a)) #define INF 0x7fffffff struct INT { int a[20],len; INT() { }; INT(int x) { mset(a,0); a[0]=x; len=1; } friend INT operator +(INT a,INT b) { INT res=INT(0); res.len=max(a.len,b.len); For(i,0,res.len-1) { res.a[i]+=a.a[i]+b.a[i]; res.a[i+1]+=res.a[i]/10000; res.a[i]%=10000; } if(res.a[res.len]) res.len++; return res; } void out_put() { printf("%d",a[len-1]); Down(i,len-2,0) printf("%04d",a[i]); puts(""); } }; INT f[205]; int n; int main() { f[1]=INT(1); f[2]=INT(2); For(i,3,200) f[i]=f[i-1]+f[i-2]; while(~scanf("%d",&n)) { f[n].out_put(); } return 0; }