num_1_19 = [
'zero', 'one', 'two','three','four','five',
'six','seven','eight','nine','ten',
'eleven','twelve','thirteen','fourteen', 'fifteen',
'sixteen','seventeen','eighteen','nineteen'
]
num_20_90 = [
0, 0, 'twenty', 'thirty', 'forty', 'fifty',
'sixty','seventy', 'eighty', 'ninety'
]
pos = [
'and','hundred','thousand ','million'
]
def three_pos_change(num):
def fun_under_100(num):
if num == 0:
return num_1_19[0]
if num < 20 :
return num_1_19[num]
else:
ten_num = num // 10
sig_num = num % 10
if sig_num == 0 :
return num_20_90[ten_num]
else:
return num_20_90[ten_num] + " " + num_1_19[sig_num]
if num < 100 :
return fun_under_100(num)
else:
hun_num = num // 100
two_pos_num = num % 100
if two_pos_num == 0:
return num_1_19[hun_num] + " " + pos[1]
else:
return num_1_19[hun_num] + " " + pos[1] + " and "+ fun_under_100(two_pos_num)
# n = 60830
n = int(input())
po3 = n // 1000000
po2 = (n // 1000) % 1000
po1 = n % 1000
if not po3 == 0 :
num_str = three_pos_change(po3)
print(num_str,pos[3],end=' ')
if not po2 == 0 :
num_str = three_pos_change(po2)
print(num_str,pos[2],end='')
if not po1 == 0 :
num_str = three_pos_change(po1)
print(num_str,end='')
print()