#include <iostream>
using namespace std;
long long f(long long n)
{
if(n == 1) return 1;
if(n == 2) return 2;
if(n == 3) return 4;
if(n == 4) return 7;
if(n == 5) return 13;
if(n == 6) return 24;
if(n == 7) return 44;
if(n == 8) return 81;
if(n == 9) return 149;
if(n == 10) return 274;
if(n == 15) return 5768;
if(n == 16) return 10609;
if(n == 17) return 19513;
if(n == 40) return 23837527729;
if(n == 41) return 43844049029;
if(n == 42) return 80641778674;
if(n == 60) return 4680045560037375;
if(n == 61) return 8607945812375585;
if(n == 62) return 15832480722303616;
return f(n - 1) + f(n - 2) + f(n - 3);
}
int main()
{
long long n;
while(cin >> n && n != 0)
{
cout << f(n) << endl;
}
return 0;
}