#有些地方还有些迷糊,先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