n=int(input())

dp=[1,1]
def fib(n):
    if n==0 and n==1:
        return dp[n]
    for i in range(2,n+1):
        dp.append(dp[i-1]+dp[i-2])
    return dp[n]
print(fib(n))
 n=int(input()) n int(input()) int input() input dp=[1,1] dp [1,1] 1 1 def fib(n):
    if n==0 and n==1:
        return dp[n]
    for i in range(2,n+1):
        dp.append(dp[i-1]+dp[i-2])
    return dp[n] fib if n==0 and n==1:
        return dp[n]
     n==0 and n==1 n==0 n 0 n==1 n 1 return dp[n] dp[n] dp n for i in range(2,n+1):
        dp.append(dp[i-1]+dp[i-2])
     i range(2,n+1) range 2 n+1 n 1 dp.append(dp[i-1]+dp[i-2]) dp.append dp append dp[i-1]+dp[i-2] dp[i-1] dp i-1 i 1 dp[i-2] dp i-2 i 2 return dp[n] dp[n] dp n n n print(fib(n)) print fib(n) fib n def fib(n):
    if n==0 and n==1:
        return dp[n]
    for i in range(2,n+1):
        dp.append(dp[i-1]+dp[i-2])
    return dp[n] def fib(n):
    if n==0 and n==1:
        return dp[n]
    for i in range(2,n+1):
        dp.append(dp[i-1]+dp[i-2])
    return dp[n] fib n=int(input()) int(input()) n dp=[1,1] [1,1] dp
n=int(input())

dp=[1,1]
def fib(n):
    if n==0 and n==1:
        return dp[n]
    for i in range(2,n+1):
        dp.append(dp[i-1]+dp[i-2])
    return dp[n]
print(fib(n))

