#include #include #include #include char f[1005][500]; int f1[500];int f2[500]; using namespace std; void init_f(){ strcpy(f[0],"1"); strcpy(f[1],"1"); int i, j, k, l, r; for(i=2;i<=250;i++){ int n1=strlen(f[i-2]); int n2=strlen(f[i-1]); memset(f1,0,sizeof(f1)); memset(f2,0,sizeof(f2)); for(j=n1-1;j>=0;j--) f1[j]=f[i-2][n1-j-1]-'0'; for(j=n2-1;j>=0;j--) f2[j]=f[i-1][n2-j-1]-'0'; int c=0; while(j<=max(n1,n2)){ f1[j]=f1[j]+f2[j]+c; if(f1[j]>=10) { f1[j]-=10;c=1; } else c=0; j++; } k=max(n1,n2); while(!f1[k]) k--; for(j=k;j>=0;j--) f[i][j]=f1[k-j]+'0'; } } int main(){ // freopen("bd.txt","w",stdout); init_f(); int n; while (scanf("%d",&n)==1){ // while (scanf("%d",&n)){ // for(n = 0; n <=200;n++) { if(n==0) printf("\n"); else printf("%s\n",f[n]); } return 0; }