def makeFibonacci(n):
    if n <= 1:
        return str(1)
    F = [None]*(n+1)
    F[0] = 1
    F[1] = 1
    for i in range(2, n+1):
        F[i] = F[i-1] + F[i - 2]
    return str(F[n])

n = int(input())
print(makeFibonacci(n)) def makeFibonacci(n):
    if n <= 1:
        return str(1)
    F = [None]*(n+1)
    F[0] = 1
    F[1] = 1
    for i in range(2, n+1):
        F[i] = F[i-1] + F[i - 2]
    return str(F[n]) makeFibonacci if n <= 1:
        return str(1)
     n <= 1 n 1 return str(1) str(1) str 1 F = [None]*(n+1) F [None]*(n+1) [None] None n+1 n 1 F[0] = 1 F[0] F 0 1 F[1] = 1 F[1] F 1 1 for i in range(2, n+1):
        F[i] = F[i-1] + F[i - 2]
     i range(2, n+1) range 2 n+1 n 1 F[i] = F[i-1] + F[i - 2] F[i] F i F[i-1] + F[i - 2] F[i-1] F i-1 i 1 F[i - 2] F i - 2 i 2 return str(F[n]) str(F[n]) str F[n] F n n n n = int(input()) n int(input()) int input() input print(makeFibonacci(n)) print makeFibonacci(n) makeFibonacci n def makeFibonacci(n):
    if n <= 1:
        return str(1)
    F = [None]*(n+1)
    F[0] = 1
    F[1] = 1
    for i in range(2, n+1):
        F[i] = F[i-1] + F[i - 2]
    return str(F[n]) def makeFibonacci(n):
    if n <= 1:
        return str(1)
    F = [None]*(n+1)
    F[0] = 1
    F[1] = 1
    for i in range(2, n+1):
        F[i] = F[i-1] + F[i - 2]
    return str(F[n]) makeFibonacci n = int(input()) int(input()) n
def makeFibonacci(n):
    if n <= 1:
        return str(1)
    F = [None]*(n+1)
    F[0] = 1
    F[1] = 1
    for i in range(2, n+1):
        F[i] = F[i-1] + F[i - 2]
    return str(F[n])

n = int(input())
print(makeFibonacci(n))