# 486,669:  four hundred and eighty six thousand six hundred and sixty nine
num1 = [
    "zero",
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "nine",
    "ten",
    "eleven",
    "twelve",
    "thirteen",
    "fourteen",
    "fifteen",
    "sixteen",
    "seventeen",
    "eighteen",
    "nineteen",
]
num2 = [
    0,
    0,
    "twenty",
    "thirty",
    "forty",
    "fifty",
    "sixty",
    "seventy",
    "eighty",
    "ninety",
]


# 100以内转英文
def n2w(n):
    if n > 0:
        if n < 20:
            word.append(num1[n])
        else:
            word.append(num2[n // 10])
            if n % 10 != 0:
                word.append(num1[n % 10])


# 1000以内转英文
def hun(n):
    if n >= 100:
        word.append(num1[n // 100])
        word.append("hundred")
        if n % 100 != 0:
            word.append("and")
    n2w(n % 100)


while True:
    try:
        n = int(input())
    except:
        break
    else:
        word = []
        a = n % 1000  # 个十百位
        b = (n // 1000) % 1000  # 个十百千
        c = (n // 1000000) % 1000  # 个十百m      百万= million
        d = (
            n // 1000000000
        )  # 个十百b            十亿=billon         10 0000 0000 == 1 000 000 000 == billion

        if d > 0:
            hun(d)
            word.append("billion")
        if c > 0:
            hun(c)
            word.append("million")
        if b > 0:
            hun(b)
            word.append("thousand")
        if a > 0:
            hun(a)
        print(" ".join(word))