#include <iostream>

using namespace std;

int main(void){

  int dp[31];
  dp[0] = dp[1] = 1;
  // ０段、１段あがる方法は１通り。
  // 実際上がらないという方法はない、計算の都合上dp[0]にも値を入れる。
  dp[2] = 2;
  // ２段あがる方法は２通り。

  for( int i = 3 ; i < 31 ; i++ ){
    dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
    // 一度に３段上れるので i - 1 , i - 2 , i - 3 ,がそれぞれ何通りあるかわかればよい。
    //　i - 1 , i - 2 , i - 3 のそれぞれの段から i 段に上る方法はそれぞれ１通りしかない。
  }
  
  int n;
  while( cin >> n , n){    
    //cout << "何通りか→" << dp[n] << endl;
    cout << dp[n]/10/365 + 1 << endl;
    // １日に１０通り試すので１０で割る。
    // 何年かかるか計算するため３６５で割り、１を加える。
  }
  return 0;
}