#include <stdio.h>
#define MAX 50+1
int a[MAX];
int fib(int n)
{
if (a[n]==-1) return a[n]=fib(n-1)+fib(n-2);
else return a[n];
}
int main( )
{
int i,n;
for(i=1; i<MAX; i++)
a[i]=-1;
a[0]=a[1]=1;
scanf("%d",&n);
printf("%d
" ,fib( n ) );
}
*******************************************************************
#include <stdio.h>
#define MAX 50+1
int a[MAX];
int fib(int n)
{
if (a[n]!=-1) a[0]=a[1]=1;
if (a[n]==-1) return a[n]=fib(n-1)+fib(n-2);
else return a[n];
}
int main( )
{ int i,n;
for(i=1; i<MAX; i++)
a[i]=-1;
scanf("%d",&n);
printf("%d
" ,fib( n ) );
}