/*   @JUDGE_ID:   1705PZ   10862   C */
#include <stdio.h>

main()
{
	int i, j, k, n;
	int len[2001];
	long long t[2001][70];

	/* t[0] = t[1] = 1; */
	for( k = 1; k < 70; k++) {
		t[0][k] = 0;
		t[1][k] = 0;
	}
	t[0][0] = t[1][0] = 1;

	for( i = 1; i <= 2000; i++) {
		len[i] = 0;
	}
	len[0] = len[1] = 1;

	for( i = 2; i <= 2000; i++) {

		/* t[i] = t[i - 1]; */
		for(k = 0; k < len[i - 1]; k++) {
			t[i][k] = t[i - 1][k];
		}

		/* t[i] += t[0] + ... + t[i - 1]; */
		for(j = 0; j < i; j++) {
			for(k = 0; k < len[i - 1]; k++) {
				t[i][k] += t[j][k];
			}
		}

		/* ³B²z¶i¦ì */
		for( k = 0; k < len[i - 1]; k++) {
			t[i][k + 1] += t[i][k] / 1000000000000000LL;
			t[i][k] %= 1000000000000000LL;
		}

		len[i] = len[i - 1];
		if( t[i][len[i]] != 0 ) {
			len[i]++;
		}
	}

	while(1) {
		scanf("%d", &n);
		if( n == 0 ) {
			break;
		}

		for(k = len[n]; k >= 0 && t[n][k] == 0; k--);
		printf("%lld", t[n][k--]);
		for(; k >= 0; k--) {
			printf("%015lld", t[n][k]);
		}
		printf("\n");
	}
}
