memo = {}

def fib_memo(n):
  if n <= 1:
    return 1
  if n in memo:
    return memo[n]
  memo[n] = fib_memo(n - 1) + fib_memo(n - 2)
  return memo[n]

x = int(raw_input())

print fib_memo(x) memo = {} memo {} def fib_memo(n):
  if n <= 1:
    return 1
  if n in memo:
    return memo[n]
  memo[n] = fib_memo(n - 1) + fib_memo(n - 2)
  return memo[n] fib_memo if n <= 1:
    return 1
   n <= 1 n 1 return 1 1 if n in memo:
    return memo[n]
   n in memo n memo return memo[n] memo[n] memo n memo[n] = fib_memo(n - 1) + fib_memo(n - 2) memo[n] memo n fib_memo(n - 1) + fib_memo(n - 2) fib_memo(n - 1) fib_memo n - 1 n 1 fib_memo(n - 2) fib_memo n - 2 n 2 return memo[n] memo[n] memo n n n x = int(raw_input()) x int(raw_input()) int raw_input() raw_input print fib_memo(x) fib_memo x memo = {} {} memo def fib_memo(n):
  if n <= 1:
    return 1
  if n in memo:
    return memo[n]
  memo[n] = fib_memo(n - 1) + fib_memo(n - 2)
  return memo[n] def fib_memo(n):
  if n <= 1:
    return 1
  if n in memo:
    return memo[n]
  memo[n] = fib_memo(n - 1) + fib_memo(n - 2)
  return memo[n] fib_memo x = int(raw_input()) int(raw_input()) x
memo = {}

def fib_memo(n):
  if n <= 1:
    return 1
  if n in memo:
    return memo[n]
  memo[n] = fib_memo(n - 1) + fib_memo(n - 2)
  return memo[n]

x = int(raw_input())

print fib_memo(x)