#include <stdio.h>
#include <string.h>

char oneDigit[][10] = {"Khong", "Mot", "Hai", "Ba", "Bon", "Nam", "Sau", "Bay", "Tam", "Chin"};
char base[][10] = {"", "Muoi", "Tram", "Nghin", "Muoi", "Tram", "Trieu", "Muoi", "Tram", "Ty", "Muoi", "Tram", "Nghin"};

void d2w(int a) {
	if (a < 10) {
		printf("%s ", oneDigit[a]);
		return;
	}
	int s[100] = {0};
	int i = 0;
	while (a > 0) {
		s[i++] = a % 10;
		a /= 10;
	}
	for (int j = i - 1; j >= 0; j--) {
		if (!strcmp(oneDigit[s[j]], "Khong") && !strcmp(base[j], "Muoi") && s[j - 1] != 0)
			printf("Linh ");
		else if (!strcmp(oneDigit[s[j]], "Mot") && !strcmp(base[j], "Muoi"))
			printf("Muoi ");
		else if (s[j] != 0 || !strcmp(base[j], "Tram")) {
			printf("%s ", oneDigit[s[j]]);
			printf("%s ", base[j]);
		} else if ((j % 3 == 0) && (s[j + 1] != 0 || s[j + 2] != 0))
			printf("%s ", base[j]);
	}
}

int main() {
	int n = 0;
	while (1) {
		printf("Enter an integer number: ");
		scanf("%d", &n);
		printf("%d in word is: ", n);
		d2w(n);
		printf("\n\nDo you want continue:\n");
		printf("1. Yes\n0. No\n");
		while (getchar()!='\n');
		if (getchar() == '0')
			break;
	}
	return 0;
}
