const rl = require("readline").createInterface({
    input: process.stdin,
});

// 超过内存
rl.on("line", (line) => {
    var numArr = line.split("");
    var firstNum = numArr.splice(0, numArr.length % 3).join("");
    var changeArr = [];
    if (firstNum.length === 0) {
    } else {
        changeArr.push(firstNum);
    }
    // console.log(changeArr+'hahah')
    if (numArr.length > 0) {
        for (i = 0; i <= Math.ceil(numArr.length / 3); i++) {
            changeArr.push(numArr.splice(0, 3).join(""));
        }
    }
    // console.log(changeArr+'hahah')
    var res = "";
    var newChangeArr = changeArr.reverse();
    // console.log(newChangeArr)
    for (i = 0; i < newChangeArr.length; i++) {
        // console.log(newChangeArr[i])
        // result.push(english(changeArr[i]));
        if (i === 0) {
            // console.log(newChangeArr[i])
            res = res + english(newChangeArr[i]);
        } else if (i === 1) {
            if(english(newChangeArr[i])===''){
                res=res
            }else{
                res = english(newChangeArr[i]) + " thousand " + res;
            }           
        } else if (i === 2) {
            res = english(newChangeArr[i]) + " million " + res;
        }
    }
    console.log(res);
});

function english(num) {
    var str = "";
    // console.log(num)
    var arr = num.split("");
    var newArr = arr.reverse();
    if (newArr.length > 1) {
        if (Number(newArr[1]) === 1) {
            str = secondNumEqual1(newArr[0]) + str;
            if (newArr[2]) {
                str = thirdNum(newArr[2]) + " and " + str;
            }
        } else {
            for (j = 0; j < newArr.length; j++) {
                if (j === 0) {
                    str = firstNum(newArr[j]) + str;
                } else if (j === 1) {
                    if (str === "") {
                        str = secondNum(newArr[j]);
                    } else {
                        if (Number(newArr[j]) === 0) {
                            str = str;
                        } else {
                            // console.log('and')
                            str = secondNum(newArr[j]) + " " + str;
                        }
                        
                    }
                } else if (j === 2) {
                    if (str === "") {
                        str = thirdNum(newArr[j]);
                    } else {
                        if (Number(newArr[j]) === 0) {
                            str = str;
                        } else {
                            // console.log('and')
                            str = thirdNum(newArr[j]) + " and " + str;
                        }
                    }
                }
            }
        }
    } else {
        str = firstNum(newArr[0]);
        //    console.log(str)
    }
    return str;
}

function secondNumEqual1(num) {
    var str = "";
    switch (Number(num)) {
        case 0:
            str = str + "ten";
            break;
        case 1:
            str = str + "eleven";
            break;
        case 2:
            str = str + "twelve";
            break;
        case 3:
            str = str + "thirteen";
            break;
        case 4:
            str = str + "fourteen";
            break;
        case 5:
            str = str + "fifteen";
            break;
        case 6:
            str = str + "sixteen";
            break;
        case 7:
            str = str + "seventeen";
            break;
        case 8:
            str = str + "eighteen";
            break;
        case 9:
            str = str + "nineteen";
            break;
    }
    return str;
}
function firstNum(num) {
    var str = "";
    switch (Number(num)) {
        case 0:
            break;
        case 1:
            str = str + "one";
            break;
        case 2:
            str = str + "two";
            break;
        case 3:
            str = str + "three";
            break;
        case 4:
            str = str + "four";
            break;
        case 5:
            str = str + "five";
            break;
        case 6:
            str = str + "six";
            break;
        case 7:
            str = str + "seven";
            break;
        case 8:
            str = str + "eight";
            break;
        case 9:
            str = str + "nine";
            break;
    }
    return str;
}
function secondNum(num) {
    var str = "";
    switch (Number(num)) {
        case 0:
            break;
        case 2:
            str = "twenty" + str;
            break;
        case 3:
            str = "thirty" + str;
            break;
        case 4:
            str = "forty" + str;
            break;
        case 5:
            str = "fifty" + str;
            break;
        case 6:
            str = "sixty" + str;
            break;
        case 7:
            str = "seventy" + str;
            break;
        case 8:
            str = "eighty" + str;
            break;
        case 9:
            str = "ninety" + str;
            break;
    }
    return str;
}
function thirdNum(num) {
    var str = "";
    switch (Number(num)) {
        case 0:
            break;
        case 1:
            str = str + "one hundred";
            break;
        case 2:
            str = str + "two hundred";
            break;
        case 3:
            str = str + "three hundred";
            break;
        case 4:
            str = str + "four hundred";
            break;
        case 5:
            str = str + "five hundred";
            break;
        case 6:
            str = str + "six hundred";
            break;
        case 7:
            str = str + "seven hundred";
            break;
        case 8:
            str = str + "eight hundred";
            break;
        case 9:
            str = str + "nine hundred";
            break;
    }
    return str;
}