from functools import lru_cache
n = int(input())

@lru_cache(maxsize=None)


def fib(n):
    if n==0 or n==1:
        return 1
   
    else:
        return fib(n-1)+fib(n-2)
        
print(fib(n))
 from functools import lru_cache n = int(input()) n int(input()) int input() input def fib(n):
    if n==0 or n==1:
        return 1
   
    else:
        return fib(n-1)+fib(n-2)
         fib if n==0 or n==1:
        return 1
   
    else:
        return fib(n-1)+fib(n-2)
         n==0 or n==1 n==0 n 0 n==1 n 1 return 1 1 return fib(n-1)+fib(n-2) fib(n-1)+fib(n-2) fib(n-1) fib n-1 n 1 fib(n-2) fib n-2 n 2 n n @lru_cache(maxsize=None) fib maxsize=None @lru_cache(maxsize=None) lru_cache maxsize=None maxsize None fib print(fib(n)) print fib(n) fib n def fib(n):
    if n==0 or n==1:
        return 1
   
    else:
        return fib(n-1)+fib(n-2)
         def fib(n):
    if n==0 or n==1:
        return 1
   
    else:
        return fib(n-1)+fib(n-2)
         fib n = int(input()) int(input()) n
from functools import lru_cache
n = int(input())

@lru_cache(maxsize=None)


def fib(n):
    if n==0 or n==1:
        return 1
   
    else:
        return fib(n-1)+fib(n-2)
        
print(fib(n))

