// Kannondou
// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0168
#include <bits/stdc++.h>
using namespace std;
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }
const long long INF = 1LL << 60;
// DP table.
long long dp[31];

int main() {
    
    int N;
    while(true){
    
        cin >> N;
        // 1. input end check.
        if(N == 0) break;
        
        // 2. initialize.
        for(int i = 0; i < 31; ++i) dp[i] = 0;
        dp[0] = 1; // 0段は, 1通り.
        dp[1] = 1; // 1段は, 1通り.
        dp[2] = 2; // 2段は, 1 + 1, 2 の 2通り.
        
        // 3. update DP table.
        for(int i = 3; i < N + 1; ++i) dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
        
        // 4. output answer.
        long long ans = ceil(dp[N] / 10.0 / 365.0);
        cout << ans << endl;
    
    }
    
    return 0;
    
}
