from functools import lru_cache
counter = 0
@lru_cache(maxsize=1024)

def fib(n):
    global counter
    counter += 1
    if n in [0, 1]:
        return 1
    return fib(n - 1) + fib(n - 2)

if __name__ == '__main__':
    print(fib(int(input()))) from functools import lru_cache counter = 0 counter 0 def fib(n):
    global counter
    counter += 1
    if n in [0, 1]:
        return 1
    return fib(n - 1) + fib(n - 2) fib global counter counter += 1 counter 1 if n in [0, 1]:
        return 1
     n in [0, 1] n [0, 1] 0 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=1024) fib maxsize=1024 @lru_cache(maxsize=1024) lru_cache maxsize=1024 maxsize 1024 fib if __name__ == '__main__':
    print(fib(int(input()))) __name__ == '__main__' __name__ '__main__' print(fib(int(input()))) print fib(int(input())) fib int(input()) int input() input counter = 0 0 counter def fib(n):
    global counter
    counter += 1
    if n in [0, 1]:
        return 1
    return fib(n - 1) + fib(n - 2) def fib(n):
    global counter
    counter += 1
    if n in [0, 1]:
        return 1
    return fib(n - 1) + fib(n - 2) fib
from functools import lru_cache
counter = 0
@lru_cache(maxsize=1024)

def fib(n):
    global counter
    counter += 1
    if n in [0, 1]:
        return 1
    return fib(n - 1) + fib(n - 2)

if __name__ == '__main__':
    print(fib(int(input())))