//#include <stdio.h>
//
//int n, a, b, d[1010];
//long long int subsetsum(int a, int b)
//{
// long long int c = 0;
//
// for(int i=a; i<=b; i++)
// {
// c = d[i]+c;
// }
//
// return c;
//}
//int main()
//{
// scanf("%d", &n);
//
// for(int i=1; i<=n; i++)
// scanf("%d", &d[i]);
//
// scanf("%d%d", &a, &b);
//
// printf("%lld\n", subsetsum(a, b));
//}
//#include <stdio.h>
//
//int n, a, b, d[1010];
//int maxi(int a, int b)
//{
// int c=a,max=d[a];
//
// for(int i=a; i<=b; i++)
// {
// if(d[i]>max)
// {
// max = d[i];
// c = i;
// }
// }
// return c;
//}
//int main()
//{
// scanf("%d", &n);
//
// for(int i=1; i<=n; i++)
// scanf("%d", &d[i]);
//
// scanf("%d%d", &a, &b);
//
// printf("%d\n", maxi(a, b));
//}
//#include <stdio.h>
//
//int n, k, d[1010];
//int findi()
//{
// int c;
// for(int i=1; i<=n; i++)
// {
// if(d[i]==k)
// {
// c = i;
// break;
// }
// else if(i==n)
// {
// return -1;
// }
// }
// return c;
//}
//int main()
//{
// scanf("%d", &n);
//
// for(int i=1; i<=n; i++)
// scanf("%d", &d[i]);
//
// scanf("%d", &k);
//
// printf("%d\n", findi(k));
//}
//#include <stdio.h>
//
//int n, k, d[1010];
//int lower_bound()
//{
// int c;
// for(int i=1; i<=n; i++)
// {
// if(d[i] >= k)
// {
// c = i;
// break;
// }
// else if(i==n)
// {
// return n+1;
// }
// }
// return c;
//}
//int main()
//{
// scanf("%d", &n);
//
// for(int i=1; i<=n; i++)
// scanf("%d", &d[i]);
//
// scanf("%d", &k);
//
// printf("%d\n", lower_bound(k));
//}
//#include <stdio.h>
//
//int n, k, d[1010];
//int upper_bound()
//{
// int c;
// for(int i=1; i<=n; i++)
// {
// if(d[i] > k)
// {
// c = i;
// break;
// }
// else if(i==n)
// {
// return n+1;
// }
// }
// return c;
//}
//int main()
//{
// scanf("%d", &n);
//
// for(int i=1; i<=n; i++)
// scanf("%d", &d[i]);
//
// scanf("%d", &k);
//
// printf("%d\n", upper_bound(k));
//}
//#include <stdio.h>
//
//int f(int n)
//{
// if(n==0)
// {
// return 0;
// }
// else
// {
// printf("%d",n);
// f(n-1);
// }
//}
//
//int main()
//{
//
// f(5);
//
// return 0;
//}
//#include <stdio.h>
//
//int a;
//int f(int n)
//{
// if(n<1)
// {
// return 0;
// }
// else
// {
// f(n-1);
// printf("%d\n",n);
// }
//}
//
//int main()
//{
// scanf("%d", &a);
//
// f(a);
//
// return 0;
//}
//#include <stdio.h>
//
//int a, b;
//int f(int a, int b)
//{
// if(b<a)
// {
// return 0;
// }
// else
// {
// if(a%2 == 1)
// {
// printf("%d ",a);
// }
// f(a+1,b);
// }
//}
//
//int main()
//{
// scanf("%d %d", &a, &b);
//
// f(a, b);
//
// return 0;
//}100
//#include <stdio.h>
//int a = 0;
//
//int f(int n)
//{
// if(n==0)
// {
// return 0;
// }
// else
// {
// return n + f(n-1);
// }
//}
//
//int main()
//{
// scanf("%d", &a);
//
// printf("%d", f(a));
//
// return 0;
//}
//#include<stdio.h>
//
//int a = 0;
//
//int f(int n)
//{
// if(n==1)
// {
// return 1;
// }
// else
// {
// return n * f(n-1);
// }
//}
//int main()
//{
// scanf("%d", &a);
//
// printf("%d", f(a));
//
// return 0;
//}
int a, b, c[20] = {};
int f(int n)
{
if(n==1||n==2)
{
c[n]=1;
return c[n];
}
else
{
c[n]=c[n-1]+c[n-2];
}
}
int main()
{
scanf("%d", &a);
printf("%d", f(a));
return 0;
}