#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair PII; #define fi first #define se second #define MP make_pair int read() { int v = 0, f = 1; char c = getchar(); while (c < 48 || 57 < c) {if (c == '-') f = -1; c = getchar();} while (48 <= c && c <= 57) v = (v << 3) + v + v + c - 48, c = getchar(); return v * f; } struct hi { int l, a[210]; hi() { l = 0; memset(a, 0, sizeof a); } void print() { for (int i = l; i >= 1; i--) printf("%d", a[i]); puts(""); } } f[210]; hi operator + (hi a, hi b) { hi c; c.l = max(a.l, b.l) + 1; int x = 0; for (int i = 1; i <= c.l; i++) { c.a[i] = a.a[i] + b.a[i] + x; x = c.a[i] / 10; c.a[i] = c.a[i] % 10; } while (c.l > 1 && c.a[c.l] == 0) c.l--; return c; } int n; int main() { f[1].l = f[2].l = 1; f[1].a[1] = 1; f[2].a[1] = 2; for (int i = 3; i <= 200; i++) f[i] = f[i - 1] + f[i - 2]; while (~scanf("%d", &n)) f[n].print(); }