def fib2(n):

    a1, a2 = 1, 0

    while n > 0:

        a1, a2 = a1 + a2, a1

        n -= 1

    return a1





n = int(eval(input()))



print((fib2(n)))
answer_list = [1, 1] + [None] * 43



def fib(num):

    ans = answer_list[num]

    if ans:

        return ans

    ans = fib(num - 1) + fib(num - 2)

    answer_list[num] = ans

    return ans





n = int(eval(input()))



print((fib(n)))
def fib2(n):
    a1, a2 = 1, 0
    while n > 0:
        a1, a2 = a1 + a2, a1
        n -= 1
    return a1


n = int(eval(input()))
print((fib2(n)))

answer_list = [1, 1] + [None] * 43


def fib(num):
    ans = answer_list[num]
    if ans:
        return ans
    ans = fib(num - 1) + fib(num - 2)
    answer_list[num] = ans
    return ans


n = int(eval(input()))
print((fib(n)))

-def fib2(n): -    a1, a2 = 1, 0 -    while n > 0: -        a1, a2 = a1 + a2, a1 -        n -= 1 -    return a1 +answer_list = [1, 1] + [None] * 43 + + +def fib(num): +    ans = answer_list[num] +    if ans: +        return ans +    ans = fib(num - 1) + fib(num - 2) +    answer_list[num] = ans +    return ans -print((fib2(n))) +print((fib(n)))