memo = {}

def fib(n):
    key = n
    
    if key in memo:
        return memo[key]
    
    if n == 0:
        return 1
    if n == 1:
        return 1
    if n > 1:
        memo[key] = fib(n-1) + fib(n-2)
    
    return memo[key]

n = int(input())
print(fib(n)) memo = {} memo {} def fib(n):
    key = n
    
    if key in memo:
        return memo[key]
    
    if n == 0:
        return 1
    if n == 1:
        return 1
    if n > 1:
        memo[key] = fib(n-1) + fib(n-2)
    
    return memo[key] fib key = n key n if key in memo:
        return memo[key]
    
     key in memo key memo return memo[key] memo[key] memo key if n == 0:
        return 1
     n == 0 n 0 return 1 1 if n == 1:
        return 1
     n == 1 n 1 return 1 1 if n > 1:
        memo[key] = fib(n-1) + fib(n-2)
    
     n > 1 n 1 memo[key] = fib(n-1) + fib(n-2) memo[key] memo key fib(n-1) + fib(n-2) fib(n-1) fib n-1 n 1 fib(n-2) fib n-2 n 2 return memo[key] memo[key] memo key n n n = int(input()) n int(input()) int input() input print(fib(n)) print fib(n) fib n n = int(input()) int(input()) n memo = {} {} memo def fib(n):
    key = n
    
    if key in memo:
        return memo[key]
    
    if n == 0:
        return 1
    if n == 1:
        return 1
    if n > 1:
        memo[key] = fib(n-1) + fib(n-2)
    
    return memo[key] def fib(n):
    key = n
    
    if key in memo:
        return memo[key]
    
    if n == 0:
        return 1
    if n == 1:
        return 1
    if n > 1:
        memo[key] = fib(n-1) + fib(n-2)
    
    return memo[key] fib
memo = {}

def fib(n):
    key = n
    
    if key in memo:
        return memo[key]
    
    if n == 0:
        return 1
    if n == 1:
        return 1
    if n > 1:
        memo[key] = fib(n-1) + fib(n-2)
    
    return memo[key]

n = int(input())
print(fib(n))