#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <numeric>
#include <queue>
#include <sstream>

using namespace std;

typedef long long ll;

#define rep(i,n) for(int i=0;i<(n);i++)

ll dp(ll n,vector<ll> &memo){
    if(n==0) return 1;
    else if(n<0) return 0;
    if(memo[n]!=-1) return memo[n];
    return memo[n]=dp(n-1,memo)+dp(n-2,memo)+dp(n-3,memo);
}

int main(){
    int N;
    vector<ll> ans(999999,-1);
    for(int i=0; ;i++){
        vector<ll> memo(999999,-1);
        memo[0]=1,memo[1]=1;
        int a;
        cin>>a;
        if(a==0) break;
        else{
            ll num=dp(a,memo);
            if(num%10==0)num=num/10;
            else num=num/10+1;
            if(num%365==0)ans[i]=num/365;
            else ans[i]=num/365+1;
        }
    }
    for(int i=0; ;i++){
        if(ans[i]==-1) break;
        cout<<ans[i]<<endl;
    }
    return 0;
}
