#include <iostream>
using namespace std;
int climbStairs(int n){
if (n <= 3) {
return n;
}
int d[100] = {0};
d[1] = 1;
d[2] = 2;
d[3] = 3;
d[0] = 1;
int c = 1,a = 2, b = 3;
for (int i = 4; i <= n; i++) {
/*b为上级的左侧,a为上级的右侧,右侧*/
b = d[i-1] + d[i-2];
c = d[i-2] - d[i-3];
b = b - c;
a = a+1;
d[i] = b;
}
return b;
}
int main()
{
long num;
/*前一级可以完全相加*/
/*后一级减1*/
/*总结,减去上上级加2的哪一个选项*/
int n;
while(1)
{
cin >> n;
num = climbStairs(n);
cout<<"楼梯的走法有:num = "<<num<<endl;
}
return 0;
}