#include #include #include using namespace std; #define N 225 int n,m,k,l,t,s; struct node{ int l,a[N]; }f[N]; int c[N]; void add(node a,node b,int n){ int l=max(a.l,b.l); for (int i=1;i<=l;i++)f[n].a[i]=a.a[i]+b.a[i]; for (int i=1;i<=l;i++){ f[n].a[i+1]+=f[n].a[i]/10; f[n].a[i]%=10; } if(f[n].a[l+1])l++; f[n].l=l; } int main(){ f[1].l=1;f[2].l=1; f[1].a[1]=1;f[2].a[1]=2; for (int i=3;i<=200;i++)add(f[i-1],f[i-2],i); while(scanf("%d",&n)!=EOF){ for (int i=f[n].l;i;i--)printf("%d",f[n].a[i]); printf("\n"); } }