#有些地方还有些迷糊,先MARK一下
def dps(n):
    m1 = 'one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen,eighteen,nineteen'.split(',')
    m2 = 'twenty,thirty,forty,fifty,sixty,seventy,eighty,ninety'.split(',')
    if(n<20):
        return m1[n-1:n]
    if(n<100):
        return [m2[n//10-2]] + dps(n%10)
    if(n<1000):
        return [m1[n//100-1]]+['hundred']+['and']+dps(n%100)
    else:
        for w,p in enumerate(('thousand','million','billion'),1):
            if(n<1000**(w+1)):
                return dps(n//(1000**w))+[p]+dps(n%1000**w)
def question():
    n = int(input())
    return ' '.join(dps(n)) or zero
while(True):
    try:
        print(question())
    except:
        break