#include <iostream>
#include <vector>
using namespace std;
//dp[i-1]:第i个dp数组的值就是斐波那契数列第n个的值
//递归公式:dp[i] =  dp[i-2]+dp[i-1]
//初始化: dp[0]=1,dp[1]=1
//遍历:从前向后
//验证:打印dp数组
int main() {
    int n;
    cin>>n;
    if(n<=2)
    {
        cout<<1;
        return 0;//return 1;代表程序非正常结束
    }
    vector<int> dp(n);
    dp[0]=1;
    dp[1]=1;
    for (int i =2; i<n; i++) {
       dp[i] =  dp[i-2]+dp[i-1];
    }
    printf("%d",dp[n-1]);
    return 0;
}
// 64 位输出请用 printf("%lld")