N = int(input())

memo = []

memo = [1,1] + [0] * (N - 1)

def f(n):
    if memo[n] == 0:
        memo[n] = f(n-1) + f(n-2)
        return(memo[n])
    if memo[n] != 0:
        return(memo[n])

print(f(N)) N = int(input()) N int(input()) int input() input memo = [] memo [] memo = [1,1] + [0] * (N - 1) memo [1,1] + [0] * (N - 1) [1,1] 1 1 [0] * (N - 1) [0] 0 N - 1 N 1 def f(n):
    if memo[n] == 0:
        memo[n] = f(n-1) + f(n-2)
        return(memo[n])
    if memo[n] != 0:
        return(memo[n]) f if memo[n] == 0:
        memo[n] = f(n-1) + f(n-2)
        return(memo[n])
     memo[n] == 0 memo[n] memo n 0 memo[n] = f(n-1) + f(n-2) memo[n] memo n f(n-1) + f(n-2) f(n-1) f n-1 n 1 f(n-2) f n-2 n 2 return(memo[n]) memo[n] memo n if memo[n] != 0:
        return(memo[n]) memo[n] != 0 memo[n] memo n 0 return(memo[n]) memo[n] memo n n n print(f(N)) print f(N) f N def f(n):
    if memo[n] == 0:
        memo[n] = f(n-1) + f(n-2)
        return(memo[n])
    if memo[n] != 0:
        return(memo[n]) def f(n):
    if memo[n] == 0:
        memo[n] = f(n-1) + f(n-2)
        return(memo[n])
    if memo[n] != 0:
        return(memo[n]) f memo = [] [] memo N = int(input()) int(input()) N memo = [1,1] + [0] * (N - 1) [1,1] + [0] * (N - 1) memo
N = int(input())

memo = []

memo = [1,1] + [0] * (N - 1)

def f(n):
    if memo[n] == 0:
        memo[n] = f(n-1) + f(n-2)
        return(memo[n])
    if memo[n] != 0:
        return(memo[n])

print(f(N))
