# coding=utf-8


def fib(number):
    if number == 0 or number == 1:
        return 1
    memo1 = 1
    memo2 = 1

    for i in range(number-1):
        memo1, memo2 = memo1+memo2, memo1
    return memo1


if __name__ == '__main__':
    N = int(input())
    print(fib(N))
 def fib(number):
    if number == 0 or number == 1:
        return 1
    memo1 = 1
    memo2 = 1

    for i in range(number-1):
        memo1, memo2 = memo1+memo2, memo1
    return memo1 fib if number == 0 or number == 1:
        return 1
     number == 0 or number == 1 number == 0 number 0 number == 1 number 1 return 1 1 memo1 = 1 memo1 1 memo2 = 1 memo2 1 for i in range(number-1):
        memo1, memo2 = memo1+memo2, memo1
     i range(number-1) range number-1 number 1 memo1, memo2 = memo1+memo2, memo1 memo1 memo1+memo2 memo1 memo2 memo2 memo1 return memo1 memo1 number number 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(number):
    if number == 0 or number == 1:
        return 1
    memo1 = 1
    memo2 = 1

    for i in range(number-1):
        memo1, memo2 = memo1+memo2, memo1
    return memo1 def fib(number):
    if number == 0 or number == 1:
        return 1
    memo1 = 1
    memo2 = 1

    for i in range(number-1):
        memo1, memo2 = memo1+memo2, memo1
    return memo1 fib
# coding=utf-8


def fib(number):
    if number == 0 or number == 1:
        return 1
    memo1 = 1
    memo2 = 1

    for i in range(number-1):
        memo1, memo2 = memo1+memo2, memo1
    return memo1


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

