#include <iostream>
#define N 20001
#define W 1000
using namespace std;
int main() {
int i, j;
int **ptr= NULL;
ptr = new int*[N];
for (i = 0; i < N; i++) {
ptr[i] = new int[W];
}
for (i = 0; i < N; i++) {
for (j = 0; j < W; j++) {
ptr[i][j] = 0;
}
}
ptr[0][0] = 0; //可省略
ptr[1][0] = 1;
//___________________________________
int tem = 0;
for (i = 2; i < N; i++) {
for (j = 0; j < W; j++) {
ptr[i][j] = ptr[i - 1][j] + ptr[i - 2][j] + tem;
if (ptr[i][j]>10000000) {
tem = ptr[i][j] / 10000000;
ptr[i][j] = ptr[i][j] % 10000000;
}
else
tem = 0;
}
}
int n;
while (cin >> n) {
for (i = n, j = W - 1; j >= 0; j--)
if (ptr[i][j] != 0)
break;
for (i = n; j >= 0; j--) {
cout << ptr[i][j];
}
cout << endl;
}
for (i = 0; i < N; i++)
delete[] ptr[i];
delete[] ptr;
system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojZGVmaW5lIE4gMjAwMDEKI2RlZmluZSBXIDEwMDAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoKCWludCBpLCBqOwoJaW50ICoqcHRyPSBOVUxMOwogICAgcHRyID0gbmV3IGludCpbTl07Cglmb3IgKGkgPSAwOyBpIDwgTjsgaSsrKSB7CgkJcHRyW2ldID0gbmV3IGludFtXXTsKCX0KCgoJZm9yIChpID0gMDsgaSA8IE47IGkrKykgewoJCWZvciAoaiA9IDA7IGogPCBXOyBqKyspIHsKCQkJcHRyW2ldW2pdID0gMDsKCQl9Cgl9CglwdHJbMF1bMF0gPSAwOyAgLy/lj6/nnIHnlaUKCXB0clsxXVswXSA9IDE7CgoJLy9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKCWludCB0ZW0gPSAwOwoJZm9yIChpID0gMjsgaSA8IE47IGkrKykgewoJCWZvciAoaiA9IDA7IGogPCBXOyBqKyspIHsKCQkJcHRyW2ldW2pdID0gcHRyW2kgLSAxXVtqXSArIHB0cltpIC0gMl1bal0gKyB0ZW07CgkJCWlmIChwdHJbaV1bal0+MTAwMDAwMDApIHsKCQkJCXRlbSA9IHB0cltpXVtqXSAvIDEwMDAwMDAwOwoJCQkJcHRyW2ldW2pdID0gcHRyW2ldW2pdICUgMTAwMDAwMDA7CgkJCX0KCQkJZWxzZQoJCQkJdGVtID0gMDsKCQl9Cgl9CglpbnQgbjsKCXdoaWxlIChjaW4gPj4gbikgewoJCWZvciAoaSA9IG4sIGogPSBXIC0gMTsgaiA+PSAwOyBqLS0pCgkJCWlmIChwdHJbaV1bal0gIT0gMCkKCQkJCWJyZWFrOwoJCWZvciAoaSA9IG47IGogPj0gMDsgai0tKSB7CgkJCWNvdXQgPDwgcHRyW2ldW2pdOwoJCX0KCQkKCQljb3V0IDw8IGVuZGw7Cgl9Cglmb3IgKGkgPSAwOyBpIDwgTjsgaSsrKQoJCWRlbGV0ZVtdIHB0cltpXTsKCWRlbGV0ZVtdIHB0cjsKCQoJc3lzdGVtKCJwYXVzZSIpOwoJcmV0dXJuIDA7Cn0=