#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define rep2(i,n) for (int i = 1; i < (n); ++i)
using namespace std;
typedef long long ll;
using namespace std;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }

const long long INF = 1LL << 60;
 
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    // DP テーブル
    long long dp[100010];

    // 入力
    int a;
    while(cin>>a, a){  
        // 初期化 
        long long dp[100010];
        rep(i,100010) {
            dp[i] = INF;
        }

        // 初期条件
        dp[0] = 1;   

        // ループ
        rep2(i,a+1) {
            if (i > 2) {
                if(dp[i] !=  0) {
                    dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
                }
            }
            else if (i > 1){
                if(dp[i] !=  0) dp[i] = dp[i-1] + dp[i-2];
            }
            else {
                dp[i] = dp[i-1];
            }
        } 
        cout << ((dp[a] + 9)/10 + 364)/365 << endl;
    }
    return 0;
}
