#include #include #include using namespace std; struct node{ int a[105]; }f[205]; int i,n; node operator +(node a,node b){ node c; memset(c.a,0,sizeof(c.a)); for (int i=0;i<100;i++){ c.a[i]+=a.a[i]+b.a[i]; if (c.a[i]>=10){ c.a[i+1]++; c.a[i]-=10; } } return c; } int main(){ f[0].a[0]=1; f[1].a[0]=1; for (i=2;i<=200;i++){ f[i]=f[i-1]+f[i-2]; } while (scanf("%d",&n)!=EOF){ if (n==0) { printf("\n"); continue; } i=99; while (!f[n].a[i]) i--; for (;i>=0;i--) printf("%d",f[n].a[i]); printf("\n"); } return 0; }