# -*- coding: utf-8 -*-
import functools


@functools.lru_cache(maxsize=None)
def fib(n):
    if n <= 1:
        return 1
    else:
        return fib(n - 1) + fib(n - 2)


if __name__ == '__main__':
    n = int(input())
    print(fib(n))
 import functools functools def fib(n):
    if n <= 1:
        return 1
    else:
        return fib(n - 1) + fib(n - 2) fib if n <= 1:
        return 1
    else:
        return fib(n - 1) + fib(n - 2) 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 @functools.lru_cache(maxsize=None) fib maxsize=None @functools.lru_cache(maxsize=None) functools.lru_cache maxsize=None maxsize None fib if __name__ == '__main__':
    n = int(input())
    print(fib(n)) __name__ == '__main__' __name__ '__main__' n = int(input()) n int(input()) int input() input print(fib(n)) print fib(n) fib n n = int(input()) int(input()) n def fib(n):
    if n <= 1:
        return 1
    else:
        return fib(n - 1) + fib(n - 2) def fib(n):
    if n <= 1:
        return 1
    else:
        return fib(n - 1) + fib(n - 2) fib
# -*- coding: utf-8 -*-
import functools


@functools.lru_cache(maxsize=None)
def fib(n):
    if n <= 1:
        return 1
    else:
        return fib(n - 1) + fib(n - 2)


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

