#include<iostream>
using namespace std;
int main ()
{
	int fif[100];
	int n,i;
	fif[0]=1,fif[1]=1;
	cin >> n;
	for(i=2;i<=n;i++)
	{
		fif[i]=fif[i-2]+fif[i-1];
	}
	cout << fif[n] << endl;
	return 0;
}
### Prompt

Please provide a cpp coded solution to the problem described below:

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<iostream>
using namespace std;
int main ()
{
	int fif[100];
	int n,i;
	fif[0]=1,fif[1]=1;
	cin >> n;
	for(i=2;i<=n;i++)
	{
		fif[i]=fif[i-2]+fif[i-1];
	}
	cout << fif[n] << endl;
	return 0;
}
```