#include <wchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

wchar_t *numbers[301] = {
	L"zero\n",
	L"one\n",
	L"two\n",
	L"three\n",
	L"four\n",
	L"five\n",
	L"six\n",
	L"seven\n",
	L"eight\n",
	L"nine\n",
	L"ten\n",
	L"eleven\n",
	L"twelve\n",
	L"thirteen\n",
	L"fourteen\n",
	L"fifteen\n",
	L"sixteen\n",
	L"seventeen\n",
	L"eighteen\n",
	L"nineteen\n",
	L"twenty\n",
	L"twenty one\n",
	L"twenty two\n",
	L"twenty three\n",
	L"twenty four\n",
	L"twenty five\n",
	L"twenty six\n",
	L"twenty seven\n",
	L"twenty eight\n",
	L"twenty nine\n",
	L"thirty\n",
	L"thirty one\n",
	L"thirty two\n",
	L"thirty three\n",
	L"thirty four\n",
	L"thirty five\n",
	L"thirty six\n",
	L"thirty seven\n",
	L"thirty eight\n",
	L"thirty nine\n",
	L"forty\n",
	L"forty one\n",
	L"forty two\n",
	L"forty three\n",
	L"forty four\n",
	L"forty five\n",
	L"forty six\n",
	L"forty seven\n",
	L"forty eight\n",
	L"forty nine\n",
	L"fifty\n",
	L"fifty one\n",
	L"fifty two\n",
	L"fifty three\n",
	L"fifty four\n",
	L"fifty five\n",
	L"fifty six\n",
	L"fifty seven\n",
	L"fifty eight\n",
	L"fifty nine\n",
	L"sixty\n",
	L"sixty one\n",
	L"sixty two\n",
	L"sixty three\n",
	L"sixty four\n",
	L"sixty five\n",
	L"sixty six\n",
	L"sixty seven\n",
	L"sixty eight\n",
	L"sixty nine\n",
	L"seventy\n",
	L"seventy one\n",
	L"seventy two\n",
	L"seventy three\n",
	L"seventy four\n",
	L"seventy five\n",
	L"seventy six\n",
	L"seventy seven\n",
	L"seventy eight\n",
	L"seventy nine\n",
	L"eighty\n",
	L"eighty one\n",
	L"eighty two\n",
	L"eighty three\n",
	L"eighty four\n",
	L"eighty five\n",
	L"eighty six\n",
	L"eighty seven\n",
	L"eighty eight\n",
	L"eighty nine\n",
	L"ninety\n",
	L"ninety one\n",
	L"ninety two\n",
	L"ninety three\n",
	L"ninety four\n",
	L"ninety five\n",
	L"ninety six\n",
	L"ninety seven\n",
	L"ninety eight\n",
	L"ninety nine\n",
	L"one hundred\n",
	L"one hundred and one\n",
	L"one hundred and two\n",
	L"one hundred and three\n",
	L"one hundred and four\n",
	L"one hundred and five\n",
	L"one hundred and six\n",
	L"one hundred and seven\n",
	L"one hundred and eight\n",
	L"one hundred and nine\n",
	L"one hundred and ten\n",
	L"one hundred and eleven\n",
	L"one hundred and twelve\n",
	L"one hundred and thirteen\n",
	L"one hundred and fourteen\n",
	L"one hundred and fifteen\n",
	L"one hundred and sixteen\n",
	L"one hundred and seventeen\n",
	L"one hundred and eighteen\n",
	L"one hundred and nineteen\n",
	L"one hundred and twenty\n",
	L"one hundred and twenty one\n",
	L"one hundred and twenty two\n",
	L"one hundred and twenty three\n",
	L"one hundred and twenty four\n",
	L"one hundred and twenty five\n",
	L"one hundred and twenty six\n",
	L"one hundred and twenty seven\n",
	L"one hundred and twenty eight\n",
	L"one hundred and twenty nine\n",
	L"one hundred and thirty\n",
	L"one hundred and thirty one\n",
	L"one hundred and thirty two\n",
	L"one hundred and thirty three\n",
	L"one hundred and thirty four\n",
	L"one hundred and thirty five\n",
	L"one hundred and thirty six\n",
	L"one hundred and thirty seven\n",
	L"one hundred and thirty eight\n",
	L"one hundred and thirty nine\n",
	L"one hundred and forty\n",
	L"one hundred and forty one\n",
	L"one hundred and forty two\n",
	L"one hundred and forty three\n",
	L"one hundred and forty four\n",
	L"one hundred and forty five\n",
	L"one hundred and forty six\n",
	L"one hundred and forty seven\n",
	L"one hundred and forty eight\n",
	L"one hundred and forty nine\n",
	L"one hundred and fifty\n",
	L"one hundred and fifty one\n",
	L"one hundred and fifty two\n",
	L"one hundred and fifty three\n",
	L"one hundred and fifty four\n",
	L"one hundred and fifty five\n",
	L"one hundred and fifty six\n",
	L"one hundred and fifty seven\n",
	L"one hundred and fifty eight\n",
	L"one hundred and fifty nine\n",
	L"one hundred and sixty\n",
	L"one hundred and sixty one\n",
	L"one hundred and sixty two\n",
	L"one hundred and sixty three\n",
	L"one hundred and sixty four\n",
	L"one hundred and sixty five\n",
	L"one hundred and sixty six\n",
	L"one hundred and sixty seven\n",
	L"one hundred and sixty eight\n",
	L"one hundred and sixty nine\n",
	L"one hundred and seventy\n",
	L"one hundred and seventy one\n",
	L"one hundred and seventy two\n",
	L"one hundred and seventy three\n",
	L"one hundred and seventy four\n",
	L"one hundred and seventy five\n",
	L"one hundred and seventy six\n",
	L"one hundred and seventy seven\n",
	L"one hundred and seventy eight\n",
	L"one hundred and seventy nine\n",
	L"one hundred and eighty\n",
	L"one hundred and eighty one\n",
	L"one hundred and eighty two\n",
	L"one hundred and eighty three\n",
	L"one hundred and eighty four\n",
	L"one hundred and eighty five\n",
	L"one hundred and eighty six\n",
	L"one hundred and eighty seven\n",
	L"one hundred and eighty eight\n",
	L"one hundred and eighty nine\n",
	L"one hundred and ninety\n",
	L"one hundred and ninety one\n",
	L"one hundred and ninety two\n",
	L"one hundred and ninety three\n",
	L"one hundred and ninety four\n",
	L"one hundred and ninety five\n",
	L"one hundred and ninety six\n",
	L"one hundred and ninety seven\n",
	L"one hundred and ninety eight\n",
	L"one hundred and ninety nine\n",
	L"two hundred\n",
	L"two hundred and one\n",
	L"two hundred and two\n",
	L"two hundred and three\n",
	L"two hundred and four\n",
	L"two hundred and five\n",
	L"two hundred and six\n",
	L"two hundred and seven\n",
	L"two hundred and eight\n",
	L"two hundred and nine\n",
	L"two hundred and ten\n",
	L"two hundred and eleven\n",
	L"two hundred and twelve\n",
	L"two hundred and thirteen\n",
	L"two hundred and fourteen\n",
	L"two hundred and fifteen\n",
	L"two hundred and sixteen\n",
	L"two hundred and seventeen\n",
	L"two hundred and eighteen\n",
	L"two hundred and nineteen\n",
	L"two hundred and twenty\n",
	L"two hundred and twenty one\n",
	L"two hundred and twenty two\n",
	L"two hundred and twenty three\n",
	L"two hundred and twenty four\n",
	L"two hundred and twenty five\n",
	L"two hundred and twenty six\n",
	L"two hundred and twenty seven\n",
	L"two hundred and twenty eight\n",
	L"two hundred and twenty nine\n",
	L"two hundred and thirty\n",
	L"two hundred and thirty one\n",
	L"two hundred and thirty two\n",
	L"two hundred and thirty three\n",
	L"two hundred and thirty four\n",
	L"two hundred and thirty five\n",
	L"two hundred and thirty six\n",
	L"two hundred and thirty seven\n",
	L"two hundred and thirty eight\n",
	L"two hundred and thirty nine\n",
	L"two hundred and forty\n",
	L"two hundred and forty one\n",
	L"two hundred and forty two\n",
	L"two hundred and forty three\n",
	L"two hundred and forty four\n",
	L"two hundred and forty five\n",
	L"two hundred and forty six\n",
	L"two hundred and forty seven\n",
	L"two hundred and forty eight\n",
	L"two hundred and forty nine\n",
	L"two hundred and fifty\n",
	L"two hundred and fifty one\n",
	L"two hundred and fifty two\n",
	L"two hundred and fifty three\n",
	L"two hundred and fifty four\n",
	L"two hundred and fifty five\n",
	L"two hundred and fifty six\n",
	L"two hundred and fifty seven\n",
	L"two hundred and fifty eight\n",
	L"two hundred and fifty nine\n",
	L"two hundred and sixty\n",
	L"two hundred and sixty one\n",
	L"two hundred and sixty two\n",
	L"two hundred and sixty three\n",
	L"two hundred and sixty four\n",
	L"two hundred and sixty five\n",
	L"two hundred and sixty six\n",
	L"two hundred and sixty seven\n",
	L"two hundred and sixty eight\n",
	L"two hundred and sixty nine\n",
	L"two hundred and seventy\n",
	L"two hundred and seventy one\n",
	L"two hundred and seventy two\n",
	L"two hundred and seventy three\n",
	L"two hundred and seventy four\n",
	L"two hundred and seventy five\n",
	L"two hundred and seventy six\n",
	L"two hundred and seventy seven\n",
	L"two hundred and seventy eight\n",
	L"two hundred and seventy nine\n",
	L"two hundred and eighty\n",
	L"two hundred and eighty one\n",
	L"two hundred and eighty two\n",
	L"two hundred and eighty three\n",
	L"two hundred and eighty four\n",
	L"two hundred and eighty five\n",
	L"two hundred and eighty six\n",
	L"two hundred and eighty seven\n",
	L"two hundred and eighty eight\n",
	L"two hundred and eighty nine\n",
	L"two hundred and ninety\n",
	L"two hundred and ninety one\n",
	L"two hundred and ninety two\n",
	L"two hundred and ninety three\n",
	L"two hundred and ninety four\n",
	L"two hundred and ninety five\n",
	L"two hundred and ninety six\n",
	L"two hundred and ninety seven\n",
	L"two hundred and ninety eight\n",
	L"two hundred and ninety nine\n",
	L"three hundred\n"
};

long offset[301];

int main(int argc, char **argv)
{
	int i, n;
	FILE *fp;
	char *s, buf[256];
	wchar_t wbuf[64];

#ifdef UTF8
	setlocale(LC_ALL, "en_US.utf8");
#else
	setlocale(LC_ALL, "en_US");
#endif
	fp = fopen("output.txt", "w+");
	if (fp == NULL) {
		perror("fopen");
		exit(1);
	}
	for (i = 0; i <= 300; i++) {
		offset[i] = ftell(fp);
		if (fputws(numbers[i], fp) == -1) {
			perror("fputws");
			exit(1);
		}
	}
#ifdef TESTREAD
	fclose(fp);
	fp = fopen("output.txt", "r");
#endif
	for ( ; ; ) {
		s = fgets(buf, 256, stdin);
		n = atoi(buf);
		if (s == NULL || n < 0 || n > 300)
			break;
		if (fseek(fp, offset[n], SEEK_SET) == -1) {
			perror("fseek");
			exit(1);
		}
		printf("%d: (%ld->%ld) ", n, offset[n], ftell(fp));
		fgetws(wbuf, 64, fp);
		wcstombs(buf, wbuf, 256);
		printf("%s", buf);
	}
	fclose(fp);
	return 0;
}
