def fib(n):
    if n ==0 or n == 1:
        return 1
    l = [0] * (n+1)
    l[0] = 1
    l[1] = 1

    for i in range(2,n+1):
        l[i] = l[i-2] + l[i-1]
    return l[i]

print(fib(int(input())))
 def fib(n):
    if n ==0 or n == 1:
        return 1
    l = [0] * (n+1)
    l[0] = 1
    l[1] = 1

    for i in range(2,n+1):
        l[i] = l[i-2] + l[i-1]
    return l[i] fib if n ==0 or n == 1:
        return 1
     n ==0 or n == 1 n ==0 n 0 n == 1 n 1 return 1 1 l = [0] * (n+1) l [0] * (n+1) [0] 0 n+1 n 1 l[0] = 1 l[0] l 0 1 l[1] = 1 l[1] l 1 1 for i in range(2,n+1):
        l[i] = l[i-2] + l[i-1]
     i range(2,n+1) range 2 n+1 n 1 l[i] = l[i-2] + l[i-1] l[i] l i l[i-2] + l[i-1] l[i-2] l i-2 i 2 l[i-1] l i-1 i 1 return l[i] l[i] l i n n print(fib(int(input()))) print fib(int(input())) fib int(input()) int input() input def fib(n):
    if n ==0 or n == 1:
        return 1
    l = [0] * (n+1)
    l[0] = 1
    l[1] = 1

    for i in range(2,n+1):
        l[i] = l[i-2] + l[i-1]
    return l[i] def fib(n):
    if n ==0 or n == 1:
        return 1
    l = [0] * (n+1)
    l[0] = 1
    l[1] = 1

    for i in range(2,n+1):
        l[i] = l[i-2] + l[i-1]
    return l[i] fib
def fib(n):
    if n ==0 or n == 1:
        return 1
    l = [0] * (n+1)
    l[0] = 1
    l[1] = 1

    for i in range(2,n+1):
        l[i] = l[i-2] + l[i-1]
    return l[i]

print(fib(int(input())))

