from functools import lru_cache
@lru_cache(maxsize=None)

def Fib(n):
    if n==0:
        return 1
    elif n==1:
        return 1
    else:
        return Fib(n-1)+Fib(n-2)
n=int(input())
print(Fib(n)) from functools import lru_cache def Fib(n):
    if n==0:
        return 1
    elif n==1:
        return 1
    else:
        return Fib(n-1)+Fib(n-2) Fib if n==0:
        return 1
    elif n==1:
        return 1
    else:
        return Fib(n-1)+Fib(n-2) n==0 n 0 return 1 1 elif n==1:
        return 1
     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 n=int(input()) n int(input()) int input() input print(Fib(n)) print Fib(n) Fib n def Fib(n):
    if n==0:
        return 1
    elif n==1:
        return 1
    else:
        return Fib(n-1)+Fib(n-2) def Fib(n):
    if n==0:
        return 1
    elif n==1:
        return 1
    else:
        return Fib(n-1)+Fib(n-2) Fib n=int(input()) int(input()) n
from functools import lru_cache
@lru_cache(maxsize=None)

def Fib(n):
    if n==0:
        return 1
    elif n==1:
        return 1
    else:
        return Fib(n-1)+Fib(n-2)
n=int(input())
print(Fib(n))
