#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;
}