#include <iostream>
#include "vector"
using namespace std;
//int fib(int N){
// if (N == 1 || N == 2) return 1;
// return fib(N-1) + fib(N-2);
//}
//int helper(vector<int>& memo, int n){
// if (n == 1 || n == 2) return 1;
// if (memo[n] != 0) return memo[n];
// memo[n] = helper(memo, n-1) + helper(memo, n-2);
// return memo[n];
//}
//
//int fib(int N){
// if (N < 1) return 0;
// vector<int> memo(N+1, 0);
// return helper(memo, N);
//}
//int fib(int N){
// vector<int> dp(N+1, 0);
// dp[1] = dp[2] = 1;
// for (int i = 3; i <= N; i++)
// dp[i] = dp[i-1] + dp[i-2];
// return dp[N];
//}
int fib(int N) {
if (N == 1 || N == 2) return 1;
int pre = 1, cur = 1;
for (int i = 3; i <= N; i ++ ){
int sum = pre + cur;
pre = cur;
cur = sum;
}
return cur;
}
int main() {
std::cout << "Hello, World!。。。。" << std::endl;
std::cout << fib(4) << std::endl;
return 0;
}