#include<bits/stdc++.h>
using namespace std;

int main(){
    int A; cin>>A;
    vector<int> Ni(A+1,0);
    Ni[0]=1;
    Ni[1]=1;
    for(int i=2;i<=A;i++){
        Ni[i]=Ni[i-1]+Ni[i-2];
    }
    cout<<Ni[A]<<endl;
}

### Prompt

Please create a solution in CPP to the following problem:

Write a program which prints $n$-th fibonacci number for a given integer $n$. The $n$-th fibonacci number is defined by the following recursive formula:

\begin{equation*} fib(n)= \left \\{ \begin{array}{ll} 1 & (n = 0) \\\ 1 & (n = 1) \\\ fib(n - 1) + fib(n - 2) & \\\ \end{array} \right. \end{equation*}

Constraints

* $0 \leq n \leq 44$

Input

An integer $n$ is given.

Example

Input

3


Output

3

### Response

```cpp
#include<bits/stdc++.h>
using namespace std;

int main(){
    int A; cin>>A;
    vector<int> Ni(A+1,0);
    Ni[0]=1;
    Ni[1]=1;
    for(int i=2;i<=A;i++){
        Ni[i]=Ni[i-1]+Ni[i-2];
    }
    cout<<Ni[A]<<endl;
}

```