#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys


def fib_bad(n):
    if not n or n == 1:
        return 1
    return fib_bad(n - 2) + fib_bad(n - 1)


def fib_dp(n):
    fib_list[:1] = [1, 1]
    for i in range(2, n + 1):
        fib_list[i] = fib_list[i - 2] + fib_list[i - 1]
    return fib_list.pop()


if __name__ == '__main__':
    _input = sys.stdin.readlines()
    index = int(_input[0])
    fib_list = [None] * index
    # print(fib_bad(index))
    print(fib_dp(index)) import sys sys def fib_bad(n):
    if not n or n == 1:
        return 1
    return fib_bad(n - 2) + fib_bad(n - 1) fib_bad if not n or n == 1:
        return 1
     not n or n == 1 not n n n == 1 n 1 return 1 1 return fib_bad(n - 2) + fib_bad(n - 1) fib_bad(n - 2) + fib_bad(n - 1) fib_bad(n - 2) fib_bad n - 2 n 2 fib_bad(n - 1) fib_bad n - 1 n 1 n n def fib_dp(n):
    fib_list[:1] = [1, 1]
    for i in range(2, n + 1):
        fib_list[i] = fib_list[i - 2] + fib_list[i - 1]
    return fib_list.pop() fib_dp fib_list[:1] = [1, 1] fib_list[:1] fib_list :1 1 [1, 1] 1 1 for i in range(2, n + 1):
        fib_list[i] = fib_list[i - 2] + fib_list[i - 1]
     i range(2, n + 1) range 2 n + 1 n 1 fib_list[i] = fib_list[i - 2] + fib_list[i - 1] fib_list[i] fib_list i fib_list[i - 2] + fib_list[i - 1] fib_list[i - 2] fib_list i - 2 i 2 fib_list[i - 1] fib_list i - 1 i 1 return fib_list.pop() fib_list.pop() fib_list.pop fib_list pop n n if __name__ == '__main__':
    _input = sys.stdin.readlines()
    index = int(_input[0])
    fib_list = [None] * index
    # print(fib_bad(index))
    print(fib_dp(index)) __name__ == '__main__' __name__ '__main__' _input = sys.stdin.readlines() _input sys.stdin.readlines() sys.stdin.readlines sys.stdin sys stdin readlines index = int(_input[0]) index int(_input[0]) int _input[0] _input 0 fib_list = [None] * index fib_list [None] * index [None] None index print(fib_dp(index)) print fib_dp(index) fib_dp index index = int(_input[0]) int(_input[0]) index def fib_bad(n):
    if not n or n == 1:
        return 1
    return fib_bad(n - 2) + fib_bad(n - 1) def fib_bad(n):
    if not n or n == 1:
        return 1
    return fib_bad(n - 2) + fib_bad(n - 1) fib_bad _input = sys.stdin.readlines() sys.stdin.readlines() _input fib_list = [None] * index [None] * index fib_list def fib_dp(n):
    fib_list[:1] = [1, 1]
    for i in range(2, n + 1):
        fib_list[i] = fib_list[i - 2] + fib_list[i - 1]
    return fib_list.pop() def fib_dp(n):
    fib_list[:1] = [1, 1]
    for i in range(2, n + 1):
        fib_list[i] = fib_list[i - 2] + fib_list[i - 1]
    return fib_list.pop() fib_dp
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys


def fib_bad(n):
    if not n or n == 1:
        return 1
    return fib_bad(n - 2) + fib_bad(n - 1)


def fib_dp(n):
    fib_list[:1] = [1, 1]
    for i in range(2, n + 1):
        fib_list[i] = fib_list[i - 2] + fib_list[i - 1]
    return fib_list.pop()


if __name__ == '__main__':
    _input = sys.stdin.readlines()
    index = int(_input[0])
    fib_list = [None] * index
    # print(fib_bad(index))
    print(fib_dp(index))