def fib(n):
    global f
    if f[n]==False:
        val=fib(n-1)+fib(n-2)
        f[n]=val
        return val
    else:
        return f[n]


n=int(input())
N=44+1
f=[1,1]
f.extend([0]*N)
fib(N)
print(f[n]) def fib(n):
    global f
    if f[n]==False:
        val=fib(n-1)+fib(n-2)
        f[n]=val
        return val
    else:
        return f[n] fib global f if f[n]==False:
        val=fib(n-1)+fib(n-2)
        f[n]=val
        return val
    else:
        return f[n] f[n]==False f[n] f n False val=fib(n-1)+fib(n-2) val fib(n-1)+fib(n-2) fib(n-1) fib n-1 n 1 fib(n-2) fib n-2 n 2 f[n]=val f[n] f n val return val val return f[n] f[n] f n n n n=int(input()) n int(input()) int input() input N=44+1 N 44+1 44 1 f=[1,1] f [1,1] 1 1 f.extend([0]*N) f.extend f extend [0]*N [0] 0 N fib(N) fib N print(f[n]) print f[n] f n def fib(n):
    global f
    if f[n]==False:
        val=fib(n-1)+fib(n-2)
        f[n]=val
        return val
    else:
        return f[n] def fib(n):
    global f
    if f[n]==False:
        val=fib(n-1)+fib(n-2)
        f[n]=val
        return val
    else:
        return f[n] fib n=int(input()) int(input()) n N=44+1 44+1 N f=[1,1] [1,1] f
def fib(n):
    global f
    if f[n]==False:
        val=fib(n-1)+fib(n-2)
        f[n]=val
        return val
    else:
        return f[n]


n=int(input())
N=44+1
f=[1,1]
f.extend([0]*N)
fib(N)
print(f[n])