N = int(input())
F = [0 for i in range(N+1)]


def fib(n):
    if n == 0 or n == 1:
        F[n] = 1
        return F[n]

    if F[n]:
        return F[n]

    F[n] = fib(n-2) + fib(n-1)
    return F[n]


def main():
    print(fib(N))


if __name__ == '__main__':
    main()
 N = int(input()) N int(input()) int input() input 0 for i in range(N+1) for i in range(N+1) i range(N+1) range N+1 N 1 for i in range(N+1) 0 F = [0 for i in range(N+1)] F [0 for i in range(N+1)] def fib(n):
    if n == 0 or n == 1:
        F[n] = 1
        return F[n]

    if F[n]:
        return F[n]

    F[n] = fib(n-2) + fib(n-1)
    return F[n] fib if n == 0 or n == 1:
        F[n] = 1
        return F[n]

     n == 0 or n == 1 n == 0 n 0 n == 1 n 1 F[n] = 1 F[n] F n 1 return F[n] F[n] F n if F[n]:
        return F[n]

     F[n] F n return F[n] F[n] F n F[n] = fib(n-2) + fib(n-1) F[n] F n fib(n-2) + fib(n-1) fib(n-2) fib n-2 n 2 fib(n-1) fib n-1 n 1 return F[n] F[n] F n n n def main():
    print(fib(N)) main print(fib(N)) print fib(N) fib N if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main N = int(input()) int(input()) N def fib(n):
    if n == 0 or n == 1:
        F[n] = 1
        return F[n]

    if F[n]:
        return F[n]

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

    if F[n]:
        return F[n]

    F[n] = fib(n-2) + fib(n-1)
    return F[n] fib def main():
    print(fib(N)) def main():
    print(fib(N)) main F = [0 for i in range(N+1)] [0 for i in range(N+1)] F
N = int(input())
F = [0 for i in range(N+1)]


def fib(n):
    if n == 0 or n == 1:
        F[n] = 1
        return F[n]

    if F[n]:
        return F[n]

    F[n] = fib(n-2) + fib(n-1)
    return F[n]


def main():
    print(fib(N))


if __name__ == '__main__':
    main()

