cache = {}
def fib(x):
	if x in cache:
		return cache[x]
	elif x == 0 or x == 1:
		return 1
	else:
		v = fib(x - 1) + fib(x - 2)
		cache[x] = v
		return v

x = input()
print fib(x) cache = {} cache {} def fib(x):
	if x in cache:
		return cache[x]
	elif x == 0 or x == 1:
		return 1
	else:
		v = fib(x - 1) + fib(x - 2)
		cache[x] = v
		return v fib if x in cache:
		return cache[x]
	elif x == 0 or x == 1:
		return 1
	else:
		v = fib(x - 1) + fib(x - 2)
		cache[x] = v
		return v x in cache x cache return cache[x] cache[x] cache x elif x == 0 or x == 1:
		return 1
	 x == 0 or x == 1 x == 0 x 0 x == 1 x 1 return 1 1 v = fib(x - 1) + fib(x - 2) v fib(x - 1) + fib(x - 2) fib(x - 1) fib x - 1 x 1 fib(x - 2) fib x - 2 x 2 cache[x] = v cache[x] cache x v return v v x x x = input() x input() input print fib(x) fib x x = input() input() x cache = {} {} cache def fib(x):
	if x in cache:
		return cache[x]
	elif x == 0 or x == 1:
		return 1
	else:
		v = fib(x - 1) + fib(x - 2)
		cache[x] = v
		return v def fib(x):
	if x in cache:
		return cache[x]
	elif x == 0 or x == 1:
		return 1
	else:
		v = fib(x - 1) + fib(x - 2)
		cache[x] = v
		return v fib
cache = {}
def fib(x):
	if x in cache:
		return cache[x]
	elif x == 0 or x == 1:
		return 1
	else:
		v = fib(x - 1) + fib(x - 2)
		cache[x] = v
		return v

x = input()
print fib(x)