#include <bits/stdc++.h>
#define rep(i, n) for (ll i = 0; i < n; i++)
#define PI 3.14159265358979323846
#define v vector<long long>
using namespace std;
using ll = long long;

// ----本問について----
// 問題：観音堂
// 問題文URL：https://onlinejudge.u-aizu.ac.jp/problems/0168
// 所要時間：15分
// 学んだこと：DPの基礎
// ------------------

// ----ここから本問のソースコード----

const ll N_MAX = 30 + 10;

// グローバル変数（入力）
ll n, dp[N_MAX];

ll solve(ll i) {                     // メモ化再帰（？）
  if (dp[i] != -1) { return dp[i]; } // 計算済みならその値を返す

  if (i == 0) {
    dp[i] = 1;
  } else if (i == 1) {
    dp[i] = solve(i - 1);
  } else if (i == 2){
    dp[i] = solve(i - 1) + solve(i - 2);
  } else {
    dp[i] = solve(i - 1) + solve(i - 2) + solve(i - 3);
  }

  return dp[i];
}

int main() {
  // cout << fixed << setprecision(10);
  rep(i, N_MAX) { dp[i] = -1; }
  while (cin >> n && n > 0){
    cout << ceil(solve(n)/3650.0) << endl;
  }

  return 0;
}

