#include<iostream>
#include<string>
#include<sstream>
using namespace std;

string lessThanHundred(int num){
    string digitNum[20]={"zero","one","two","three","four","five","six","seven","eight","nine","ten",\
                        "eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
    string tens[8]={"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};

    if(num<20)
        return digitNum[num];
    else{
        stringstream ss;
        ss<<num;
        if(stoi(ss.str().substr(1))==0){
            return tens[stoi(ss.str().substr(0,1))-2];
        }
        else{
            return tens[stoi(ss.str().substr(0,1))-2] +" "+ digitNum[stoi(ss.str().substr(1))];
        }
    }
}

string threeBitnum(int num){

    string digitNum[9]={"one","two","three","four","five","six","seven","eight","nine"};

    if(num<100)
        return lessThanHundred(num);
    else if(num%100==0){
        return digitNum[num/100-1] + " hundred";
    }
    else{
        stringstream ss;
        ss<<num;
        return digitNum[stoi(ss.str().substr(0,1))-1] + " hundred and "+lessThanHundred(stoi(ss.str().substr(1,2)));
    }
}

string numToEnglish(long num){
    stringstream ss;
    ss<<num;
    int length=ss.str().size();
    if(length<=0 || length>9 || (length>1 && ss.str().substr(0,1)=="0"))
        return "error";

    for(int i=0;i<length;i++){
        if(!isdigit(ss.str()[i]))
            return "error";
    }

    if(length<4)
        return threeBitnum(num);
    else if(length>=4 && length<7){
        if(num%1000==0){
            return threeBitnum(stoi(ss.str().substr(0,length-3)))+" thousand";
        }
        else{
            return threeBitnum(stoi(ss.str().substr(0,length-3)))+" thousand "+threeBitnum(stoi(ss.str().substr(length-3)));
        }
    }
    else{
        if(num%1000000==0)
            return threeBitnum(stoi(ss.str().substr(0,length-6)))+" million";
        else if(stoi(ss.str().substr(length-6))%1000==0)
            return threeBitnum(stoi(ss.str().substr(0,length-6)))+" million "+\
                    threeBitnum(stoi(ss.str().substr(length-6,3)))+" thousand ";
        else
            return threeBitnum(stoi(ss.str().substr(0,length-6)))+" million "+\
                    threeBitnum(stoi(ss.str().substr(length-6,3)))+" thousand "+\
                    threeBitnum(stoi(ss.str().substr(length-3)));
    }
}


int main(){
    long num;
    while(cin>>num)
        cout<<numToEnglish(num)<<endl;

    return 0;
}