from functools import lru_cache


@lru_cache(maxsize=None)
def fibo(n):
    if n == 0 or n == 1:
        return 1

    return fibo(n - 1) + fibo(n - 2)


n = int(input())

print(fibo(n))
 from functools import lru_cache def fibo(n):
    if n == 0 or n == 1:
        return 1

    return fibo(n - 1) + fibo(n - 2) fibo if n == 0 or n == 1:
        return 1

     n == 0 or n == 1 n == 0 n 0 n == 1 n 1 return 1 1 return fibo(n - 1) + fibo(n - 2) fibo(n - 1) + fibo(n - 2) fibo(n - 1) fibo n - 1 n 1 fibo(n - 2) fibo n - 2 n 2 n n @lru_cache(maxsize=None) fibo maxsize=None @lru_cache(maxsize=None) lru_cache maxsize=None maxsize None fibo n = int(input()) n int(input()) int input() input print(fibo(n)) print fibo(n) fibo n def fibo(n):
    if n == 0 or n == 1:
        return 1

    return fibo(n - 1) + fibo(n - 2) def fibo(n):
    if n == 0 or n == 1:
        return 1

    return fibo(n - 1) + fibo(n - 2) fibo n = int(input()) int(input()) n
from functools import lru_cache


@lru_cache(maxsize=None)
def fibo(n):
    if n == 0 or n == 1:
        return 1

    return fibo(n - 1) + fibo(n - 2)


n = int(input())

print(fibo(n))

