#include <bits/stdc++.h>

using namespace std;

vector<string> ones = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
vector<string> tens = { "ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen" };
vector<string> twenties = { "zero","ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety" };
vector<string> hundreds = { "hundred", "thousand", "million", "billion" };
const int ihundreds[] = {(int)1e2, (int)1e3, (int)1e6, (int)1e9, (int)1e12 }; //用来划分数字的范围

string process(long long num){
    if(num <= 9) return ones[num];
    else if(num < 20) return tens[num % 10];
    else if(num < 1e2) return twenties[num / 10] + (num % 10 == 0 ? "" : " " + ones[num % 10]);
    else{
        for(int i = 0; i < 4; i++){ //大于100
            if(num < ihundreds[i + 1]){ //(i == 0 ? " and" : " ") 因为百位数和十位数之间要加and
                return process(num / ihundreds[i]) + " " 
                    + hundreds[i] 
                    + (num % ihundreds[i] ? (i == 0 ? " and " : " ") + process(num % ihundreds[i]) : "");
            }
        }
    }
    
    return "";
}

int main(){
    long long num = 0;
    while(cin >> num){
        string res = process(num);
        
        cout << res << endl;
    }
    
    return 0;
}