#include<iostream>
using namespace std;
//致敬斐波那契(Fibonacci) Fibonacci
//有一头母牛,它每年年初生一头小母牛。
//每头小母牛从第四个年头开始,每年年初也生一头小母牛。******这句话有毒,第四年根据样例理解为:
//******出生算第一年,然后的第四年,ZP1年出生,ZP4年可生育(PS,ZP为某纪年法)
//请编程实现在第n年的时候,共有多少头母牛?
int main()
{
/典型的寻找推数列的题目
/ all[1]=1,all[2]=2;all[3]=3;all[4]=4;all[5]=6; all[6]=6+3=9;all[7]=9+4=13
/一句话经典解释当前年的(无线寿命的牛【大角牛有认识的嘛】)牛总数等于去年的牛加上
/今年的新牛,话说今年的新牛,有等于????答案是四年前的牛,四年前怎么理解?
//ZP1生,ZP4育,也就是all[n-3];
int all[1000];///先存储
all[1]=1,all[2]=2;all[3]=3;all[4]=4;all[5]=6;
for(int i=6;i<1000;i++)
all[i]=all[i-1]+all[i-3];
int n;
while(cin>>n)
{
if(n==0)
break;
else
cout<<all[n]<<endl;
}
return 0;
}