one_digit = ["không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín"]
units = ["", " mốt", " hai", " ba", " bốn", " lăm", " sáu", " bảy", " tám", " chín"]
tens = ["linh", "mười"] + [x + " mươi" for x in ["hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín"]]
hundreds = [x + " trăm" for x in one_digit]
bigger = ["", " nghìn", " triệu", " tỉ", " nghìn tỉ", " triệu tỉ", " tỉ tỉ"]
def read_class(s):
n = int(s)
if len(s) == 1:
return one_digit[n]
elif len(s) == 2:
return tens[n//10] + units[n%10]
else: # len(s) == 3
if s == '000':
return ''
elif (n//10)%10 == 0: # x0y
if n % 10 == 0: # x00
return hundreds[n//100]
else:
return hundreds[n//100] + ' ' + tens[(n//10)%10] + ' ' + one_digit[n%10]
else: # xyz
return hundreds[n//100] + ' ' + tens[(n//10)%10] + units[n%10]
while True:
try:
s = input()
except:
break
s = s.lstrip('0').rstrip('\n')
classes = []
for i in range(len(s)-1, 1, -3):
classes.append(s[i-2:i+1])
if len(s) % 3 != 0:
classes.append(s[:len(s)%3])
res = ''
for i in range(len(classes)):
named_class = read_class(classes[i])
if named_class != '':
res = named_class + bigger[i] + (' ' * (res != '')) + res
print(s, res)
b25lX2RpZ2l0ID0gWyJraMO0bmciLCAibeG7mXQiLCAiaGFpIiwgImJhIiwgImLhu5FuIiwgIm7Eg20iLCAic8OhdSIsICJi4bqjeSIsICJ0w6FtIiwgImNow61uIl0KdW5pdHMgPSBbIiIsICIgbeG7kXQiLCAiIGhhaSIsICIgYmEiLCAiIGLhu5FuIiwgIiBsxINtIiwgIiBzw6F1IiwgIiBi4bqjeSIsICIgdMOhbSIsICIgY2jDrW4iXQp0ZW5zID0gWyJsaW5oIiwgIm3GsOG7nWkiXSArIFt4ICsgIiBtxrDGoWkiIGZvciB4IGluIFsiaGFpIiwgImJhIiwgImLhu5FuIiwgIm7Eg20iLCAic8OhdSIsICJi4bqjeSIsICJ0w6FtIiwgImNow61uIl1dCmh1bmRyZWRzID0gW3ggKyAiIHRyxINtIiBmb3IgeCBpbiBvbmVfZGlnaXRdCmJpZ2dlciA9IFsiIiwgIiBuZ2jDrG4iLCAiIHRyaeG7h3UiLCAiIHThu4kiLCAiIG5naMOsbiB04buJIiwgIiB0cmnhu4d1IHThu4kiLCAiIHThu4kgdOG7iSJdCgoKZGVmIHJlYWRfY2xhc3Mocyk6CgluID0gaW50KHMpCglpZiBsZW4ocykgPT0gMToKCQlyZXR1cm4gb25lX2RpZ2l0W25dCgllbGlmIGxlbihzKSA9PSAyOgoJCXJldHVybiB0ZW5zW24vLzEwXSArIHVuaXRzW24lMTBdCgllbHNlOiAgIyBsZW4ocykgPT0gMwoJCWlmIHMgPT0gJzAwMCc6CgkJCXJldHVybiAnJwoJCWVsaWYgKG4vLzEwKSUxMCA9PSAwOiAgIyB4MHkKCQkJaWYgbiAlIDEwID09IDA6ICAjIHgwMAoJCQkJcmV0dXJuIGh1bmRyZWRzW24vLzEwMF0KCQkJZWxzZToKCQkJCXJldHVybiBodW5kcmVkc1tuLy8xMDBdICsgJyAnICsgdGVuc1sobi8vMTApJTEwXSArICcgJyArIG9uZV9kaWdpdFtuJTEwXQoJCWVsc2U6ICAjIHh5egoJCQlyZXR1cm4gaHVuZHJlZHNbbi8vMTAwXSArICcgJyArIHRlbnNbKG4vLzEwKSUxMF0gKyB1bml0c1tuJTEwXQoKCndoaWxlIFRydWU6Cgl0cnk6CgkJcyA9IGlucHV0KCkKCWV4Y2VwdDoKCQlicmVhawoKCXMgPSBzLmxzdHJpcCgnMCcpLnJzdHJpcCgnXG4nKQoJY2xhc3NlcyA9IFtdCglmb3IgaSBpbiByYW5nZShsZW4ocyktMSwgMSwgLTMpOgoJCWNsYXNzZXMuYXBwZW5kKHNbaS0yOmkrMV0pCgkKCWlmIGxlbihzKSAlIDMgIT0gMDoKCQljbGFzc2VzLmFwcGVuZChzWzpsZW4ocyklM10pCgkKCXJlcyA9ICcnCglmb3IgaSBpbiByYW5nZShsZW4oY2xhc3NlcykpOgoJCW5hbWVkX2NsYXNzID0gcmVhZF9jbGFzcyhjbGFzc2VzW2ldKQoJCWlmIG5hbWVkX2NsYXNzICE9ICcnOgoJCQlyZXMgPSBuYW1lZF9jbGFzcyArIGJpZ2dlcltpXSArICgnICcgKiAocmVzICE9ICcnKSkgKyByZXMKCQoJcHJpbnQocywgcmVzKQo=