# -*- coding: utf-8 -*-
import sys
sys.setrecursionlimit(100000)

calculated = set([0, 1])
cal_fib = [0 for _ in range(45)]
cal_fib[0:2] = 1, 1

def fib(n):
    if cal_fib[n] == 0:
        cal_fib[n] = fib(n-1) + fib(n-2)
    return cal_fib[n]

n = int(input())
print(fib(n)) import sys sys sys.setrecursionlimit(100000) sys.setrecursionlimit sys setrecursionlimit 100000 calculated = set([0, 1]) calculated set([0, 1]) set [0, 1] 0 1 0 for _ in range(45) for _ in range(45) _ range(45) range 45 for _ in range(45) 0 cal_fib = [0 for _ in range(45)] cal_fib [0 for _ in range(45)] cal_fib[0:2] = 1, 1 cal_fib[0:2] cal_fib 0:2 0 2 cal_fib[0:2] = 1, 1 1 1 def fib(n):
    if cal_fib[n] == 0:
        cal_fib[n] = fib(n-1) + fib(n-2)
    return cal_fib[n] fib if cal_fib[n] == 0:
        cal_fib[n] = fib(n-1) + fib(n-2)
     cal_fib[n] == 0 cal_fib[n] cal_fib n 0 cal_fib[n] = fib(n-1) + fib(n-2) cal_fib[n] cal_fib n fib(n-1) + fib(n-2) fib(n-1) fib n-1 n 1 fib(n-2) fib n-2 n 2 return cal_fib[n] cal_fib[n] cal_fib n n n n = int(input()) n int(input()) int input() input print(fib(n)) print fib(n) fib n calculated = set([0, 1]) set([0, 1]) calculated n = int(input()) int(input()) n cal_fib = [0 for _ in range(45)] [0 for _ in range(45)] cal_fib def fib(n):
    if cal_fib[n] == 0:
        cal_fib[n] = fib(n-1) + fib(n-2)
    return cal_fib[n] def fib(n):
    if cal_fib[n] == 0:
        cal_fib[n] = fib(n-1) + fib(n-2)
    return cal_fib[n] fib
# -*- coding: utf-8 -*-
import sys
sys.setrecursionlimit(100000)

calculated = set([0, 1])
cal_fib = [0 for _ in range(45)]
cal_fib[0:2] = 1, 1

def fib(n):
    if cal_fib[n] == 0:
        cal_fib[n] = fib(n-1) + fib(n-2)
    return cal_fib[n]

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