#include<iostream>

using namespace::std;

int fib(int n) {
	
	if (n == 0) {
		return 0;
	}
	if (n == 1) {
		return 1;
	}
	if (n == 2) {
		return 2;
	}
	if (n == 3) {
		return 4;
	}


	int x[100];
	x[0] = 0;
	x[1] = 1;
	x[2] = 2;
	x[3] = 4;

	for (int i = 4; i <= n; i++) {
		x[i] = x[i - 3] + x[i - 2] + x[i - 1];
	}
	return x[n];
}

/*
int main() {

	cout << fib(7);
	getchar();
	return 0;
	
}
*/
//int main() {
//	int N = 0;
//	cin >> N;
//
//	int n[1001];
//	int rin[1001] ;
//	int max;
//	for (int j = 0; j < N; j++) {
//		cin >>n[j];
//	}
//	
//	for (int j = 0; j < N; j++) {
//		
//		rin[j] = 1;
//			for (int k = 0; k < j; k++){
//				if (n[k] < n[j] && rin[j] <= rin[k]) {
//
//					rin[j] += 1;
//				}
//			}
//		
//	}
//
//	max = rin[0];
//	for (int j = 0; j < N; j++) {
//		if (max < rin[j]) {
//			max = rin[j];
//		}
//	}
//	cout << max;
//
//	getchar();
//	getchar();
//	return 0;
//}

int main() {
	/*int n;
	cin >> n;
	int ans;
	int ama;

	ans = n / 3;
	ans = ans * 4;

	if (n % 3 == 1) {
		ans +=
	}
	else if (n % 3 == 2) {

	}*/
	int a[100];
	int i= 0;

	while (true) {
		cin >>a[i];
		if (a[i] == 0)
			break;
		i++;
	}

	for (int j = 0; j < i; j++) {
		if (a[j] != 0) {
			cout << fib(a[j])/10/ 365 + 1 << endl;
		}
		else {
			cout <<0 << endl;
		}
	}

	getchar();
	getchar();
	return 0;

}