# -*- coding: utf-8 -*-
fibs = {0: 1, 1: 1}


def fib(n):
    if n not in fibs:
        fibs[n] = fib(n - 1) + fib(n - 2)

    return fibs[n]


if __name__ == '__main__':
    n = int(input())
    print(fib(n))
 fibs = {0: 1, 1: 1} fibs {0: 1, 1: 1} 0 0 1 1 1 1 def fib(n):
    if n not in fibs:
        fibs[n] = fib(n - 1) + fib(n - 2)

    return fibs[n] fib if n not in fibs:
        fibs[n] = fib(n - 1) + fib(n - 2)

     n not in fibs n fibs fibs[n] = fib(n - 1) + fib(n - 2) fibs[n] fibs n fib(n - 1) + fib(n - 2) fib(n - 1) fib n - 1 n 1 fib(n - 2) fib n - 2 n 2 return fibs[n] fibs[n] fibs n n n 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 not in fibs:
        fibs[n] = fib(n - 1) + fib(n - 2)

    return fibs[n] def fib(n):
    if n not in fibs:
        fibs[n] = fib(n - 1) + fib(n - 2)

    return fibs[n] fib fibs = {0: 1, 1: 1} {0: 1, 1: 1} fibs
# -*- coding: utf-8 -*-
fibs = {0: 1, 1: 1}


def fib(n):
    if n not in fibs:
        fibs[n] = fib(n - 1) + fib(n - 2)

    return fibs[n]


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

