//递归:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
int n;
LL fibo(int n)
{
if(n == 2 || n == 1) return 1;
return fibo(n - 1) + fibo(n - 2);
}
int main()
{
cin >> n;
cout << fibo(n);
return 0;
}
//非递归:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
typedef long long LL;
int n;
LL fibo(int n)
{
if(n == 1 || n == 2) return 1;
LL f1 = 1, f2 = 1, f3 = 0;
for(int i = 3; i <= n; i ++)
{
f3 = f1 + f2;
f1 = f2;