#include <bits/stdc++.h>
#define up(r,l,i) for(int i=r;i<=l;i++)
#define dn(r,l,i) for(int i=r;i>=l;i--)
using namespace std;
int n;
int c[1000], a[1000], b[1000],len;
void supperAdd(int x[], int y[]) {
memset(c, 0, 1005);
up(1, sizeof(b) / sizeof(b[0]), i) {
c[i] += a[i] + b[i];
c[i + 1] = c[i] / 10;
c[i] = c[i] % 10;
}
}
int main()
{
cin >> n;
a[1] = 1;
b[1] = 2;
len = 1;
up(3, n, i) {
supperAdd(a, b);
memcpy(a, b, sizeof(b) / sizeof(b[0]));
memcpy(b, c, sizeof(c) / sizeof(c[0]));
}
len = 999;
while (c[len] == 0 && len > 1) len--;
dn(len, 1, i) {
cout << c[i];
}
return 0;
}