n = int(input())#创建dp表dp = [0]*n
'''#地推公式f(n) = f(n-1)+f(n-2)+...+f(0)f(n-1) = f(n-2)+f(n-3)+...f(0)
n = int(input())
#创建dp表
dp = [0]*n
'''
#地推公式
f(n) = f(n-1)+f(n-2)+...+f(0)
f(n-1) = f(n-2)+f(n-3)+...f(0)
dp[i] = sum(dp)+dp[]
'''
#判断输入1,2时,输出初始化值,防止数组越界
if n == 1:
print(1)
elif n ==2:
print(2)
else:
#初始化dp数组
dp[0] = 1
dp[1] = 3
#每到一阶的可能为之前可能的和
for i in range(2,n):
dp[i] = sum(dp)
#打印dp数组最后一位,即当到n阶时所有可能
print(dp[-1])
'''#判断输入1,2时,输出初始化值,防止数组越界if n == 1:print(1)elif n ==2:print(2)else:#初始化dp数组dp[0] = 1dp[1] = 3#每到一阶的可能为之前可能的和for i in range(2,n):dp[i] = sum(dp)#打印dp数组最后一位,即当到n阶时所有可能print(dp[-1])



京公网安备 11010502036488号