def fibonacci(f, n):
    if n == 0 or n == 1:
        f[n] = 1
        return f[n]
    if f[n]:
        return f[n]
    f[n] = fibonacci(f, n - 2) + fibonacci(f, n - 1)
    return f[n]

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

n = int(input())
f = [None for i in range(n + 1)]
print(fibonacci(f, n))