#include #include int a[1005][200]; void Bits(int a[], int c[]); int main(void) { int n, i, j, len; a[1][0] = 1; a[2][0] = 1; for(i=3;i<=1000;i++) { for(j=0;a[i-2][j]!=0;j++) a[i][j] = a[i-2][j]; Bits(a[i-1], a[i]); } while(scanf("%d", &n)!=EOF) { n += 1; for(i=0;i<=200;i++) { if(a[n][i]==0) { len = i-1; break; } } printf("%d", a[n][len]); for(i=len-1;i>=0;i--) printf("%08d", a[n][i]); printf("\n"); } return 0; } void Bits(int a[], int c[]) { int i, j, up; int temp[200] = {0}; up = 0; for(i=0;a[i]!=0 || c[i]!=0;i++) { temp[i] = (a[i]+c[i]+up)%100000000; if(a[i]+c[i]+up>=100000000) up = 1; else up = 0; } temp[i] = up; for(j=0;j<=i;j++) c[j] = temp[j]; }