#include <iostream>
using namespace std;
//Memoization
//Top-down because calculating 0, 1, and reaching till bottom N
int memo[100];
int f(int n)
{
if(n == 0) return 0;
if(n == 1) return 1;
if(memo[n]) return memo[n];
return memo[n] = f(n-1) + f(n-2);
}
int main (void)
{
int n;
cin >> n;
cout << f(n);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy9NZW1vaXphdGlvbgovL1RvcC1kb3duIGJlY2F1c2UgY2FsY3VsYXRpbmcgMCwgMSwgYW5kIHJlYWNoaW5nIHRpbGwgYm90dG9tIE4KCmludCBtZW1vWzEwMF07CgppbnQgZihpbnQgbikKewoJaWYobiA9PSAwKSByZXR1cm4gMDsKCWlmKG4gPT0gMSkgcmV0dXJuIDE7CgkKCWlmKG1lbW9bbl0pIHJldHVybiBtZW1vW25dOwoJcmV0dXJuIG1lbW9bbl0gPSBmKG4tMSkgKyBmKG4tMik7Cn0KCmludCBtYWluICh2b2lkKQp7CglpbnQgbjsKCWNpbiA+PiBuOwoJY291dCA8PCBmKG4pOwoJcmV0dXJuIDA7Cn0K