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

import sys
import re
import math
import itertools
import functools
import logging

logging.basicConfig(level=logging.DEBUG, format="DBG: %(message)s")

def dbg(msg, *args, **kwargs):
    logging.debug(msg, *args, **kwargs)

def fib(n):
    assert n >= 0

    f0 = 1
    f1 = 1

    if n == 0: return f0
    if n == 1: return f1

    for _ in range(n-1):
        f2 = f1 + f0
        f0 = f1
        f1 = f2

    return f2

def main():
    n = int(input())

    print(fib(n))

if __name__ == "__main__": main() import sys sys import re re import math math import itertools itertools import functools functools import logging logging logging.basicConfig(level=logging.DEBUG, format="DBG: %(message)s") logging.basicConfig logging basicConfig level=logging.DEBUG level logging.DEBUG logging DEBUG format="DBG: %(message)s" format "DBG: %(message)s" def dbg(msg, *args, **kwargs):
    logging.debug(msg, *args, **kwargs) dbg logging.debug(msg, *args, **kwargs) logging.debug logging debug msg *args args **kwargs kwargs msg msg *args **kwargs def fib(n):
    assert n >= 0

    f0 = 1
    f1 = 1

    if n == 0: return f0
    if n == 1: return f1

    for _ in range(n-1):
        f2 = f1 + f0
        f0 = f1
        f1 = f2

    return f2 fib assert n >= 0 n >= 0 n 0 f0 = 1 f0 1 f1 = 1 f1 1 if n == 0: return f0
     n == 0 n 0 if n == 1: return f1

     n == 1 n 1 for _ in range(n-1):
        f2 = f1 + f0
        f0 = f1
        f1 = f2

     _ range(n-1) range n-1 n 1 f2 = f1 + f0 f2 f1 + f0 f1 f0 f0 = f1 f0 f1 f1 = f2 f1 f2 return f2 f2 n n def main():
    n = int(input())

    print(fib(n)) main n = int(input()) n int(input()) int input() input print(fib(n)) print fib(n) fib n if __name__ == "__main__": main() __name__ == "__main__" __name__ "__main__" def main():
    n = int(input())

    print(fib(n)) def main():
    n = int(input())

    print(fib(n)) main def dbg(msg, *args, **kwargs):
    logging.debug(msg, *args, **kwargs) def dbg(msg, *args, **kwargs):
    logging.debug(msg, *args, **kwargs) dbg def fib(n):
    assert n >= 0

    f0 = 1
    f1 = 1

    if n == 0: return f0
    if n == 1: return f1

    for _ in range(n-1):
        f2 = f1 + f0
        f0 = f1
        f1 = f2

    return f2 def fib(n):
    assert n >= 0

    f0 = 1
    f1 = 1

    if n == 0: return f0
    if n == 1: return f1

    for _ in range(n-1):
        f2 = f1 + f0
        f0 = f1
        f1 = f2

    return f2 fib
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import re
import math
import itertools
import functools
import logging

logging.basicConfig(level=logging.DEBUG, format="DBG: %(message)s")

def dbg(msg, *args, **kwargs):
    logging.debug(msg, *args, **kwargs)

def fib(n):
    assert n >= 0

    f0 = 1
    f1 = 1

    if n == 0: return f0
    if n == 1: return f1

    for _ in range(n-1):
        f2 = f1 + f0
        f0 = f1
        f1 = f2

    return f2

def main():
    n = int(input())

    print(fib(n))

if __name__ == "__main__": main()