#include<iostream>
#include<cstring>
using namespace std;
const int len = 1000;
//每行为一个斐波那契数
int arr[len][len]{ 0 };
int main() {
arr[1][0] = 1;
arr[2][0] = 1;
int n, dight = 0, temp;
//dight 记录位数
cin >> n;
for (size_t i = 3; i <= n; i++) {
temp = 0;
for (size_t j = 0; j <= dight; j++) {
arr[i][j] += arr[i - 1][j] + arr[i - 2][j];
temp = arr[i][j] / 10;
arr[i][j] %= 10;
if (temp) {
arr[i][j + 1] = temp;
if (j == dight) {
dight++;
}
}
//cout << arr[i][j] << ' ';
}
}
for (int j = dight; j >= 0; j--) {
cout << arr[n][j];
}
}
while True:
try:
n = int(input())
temp =1;
temp1 =1;
if n <=2:
res = 1;
else :
for i in range(2,n):
res=temp+temp1
temp = temp1;
temp1 = res;
print(res)
except:
break;