

def fibonacciDP(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

        return dp[i-1]+ dp[i-2]

def fibonacci(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        return fibonacci(i-1)+fibonacci(i-2)



n = int(input())
dp = [None]*n

print(fibonacciDP(n)) def fibonacciDP(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

        return dp[i-1]+ dp[i-2] fibonacciDP if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

        return dp[i-1]+ dp[i-2] i == 0 i 0 return 1 1 elif i == 1:
        return 1
     i == 1 i 1 return 1 1 if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

         dp[i-1] is None and dp[i-2] is None dp[i-1] is None dp[i-1] dp i-1 i 1 None dp[i-2] is None dp[i-2] dp i-2 i 2 None dp[i-1] = fibonacciDP(i-1) dp[i-1] dp i-1 i 1 fibonacciDP(i-1) fibonacciDP i-1 i 1 dp[i-2] = fibonacciDP(i-2) dp[i-2] dp i-2 i 2 fibonacciDP(i-2) fibonacciDP i-2 i 2 elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
         dp[i-1] is None dp[i-1] dp i-1 i 1 None dp[i-1] = fibonacciDP(i-1) dp[i-1] dp i-1 i 1 fibonacciDP(i-1) fibonacciDP i-1 i 1 elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

         dp[i-2] is None dp[i-2] dp i-2 i 2 None dp[i-2] = fibonacciDP(i-2) dp[i-2] dp i-2 i 2 fibonacciDP(i-2) fibonacciDP i-2 i 2 return dp[i-1]+ dp[i-2] dp[i-1]+ dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 i i def fibonacci(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        return fibonacci(i-1)+fibonacci(i-2) fibonacci if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        return fibonacci(i-1)+fibonacci(i-2) i == 0 i 0 return 1 1 elif i == 1:
        return 1
     i == 1 i 1 return 1 1 return fibonacci(i-1)+fibonacci(i-2) fibonacci(i-1)+fibonacci(i-2) fibonacci(i-1) fibonacci i-1 i 1 fibonacci(i-2) fibonacci i-2 i 2 i i n = int(input()) n int(input()) int input() input dp = [None]*n dp [None]*n [None] None n print(fibonacciDP(n)) print fibonacciDP(n) fibonacciDP n dp = [None]*n [None]*n dp def fibonacci(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        return fibonacci(i-1)+fibonacci(i-2) def fibonacci(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        return fibonacci(i-1)+fibonacci(i-2) fibonacci n = int(input()) int(input()) n def fibonacciDP(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

        return dp[i-1]+ dp[i-2] def fibonacciDP(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

        return dp[i-1]+ dp[i-2] fibonacciDP


def fibonacciDP(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        if dp[i-1] is None and dp[i-2] is None:
            dp[i-1] = fibonacciDP(i-1)
            dp[i-2] = fibonacciDP(i-2)
        elif dp[i-1] is None:
            dp[i-1] = fibonacciDP(i-1)
        elif dp[i-2] is None:
            dp[i-2] = fibonacciDP(i-2)

        return dp[i-1]+ dp[i-2]

def fibonacci(i):
    if i == 0:
        return 1
    elif i == 1:
        return 1
    else:
        return fibonacci(i-1)+fibonacci(i-2)



n = int(input())
dp = [None]*n

print(fibonacciDP(n))