import java.util.*;
public class Main{
public static HashMap<Integer,String> gwMap = new HashMap<Integer,String>();
public static HashMap<Integer,String> swMap = new HashMap<Integer,String>();
static{
gwMap.put(1,"one");
gwMap.put(2,"two");
gwMap.put(3,"three");
gwMap.put(4,"four");
gwMap.put(5,"five");
gwMap.put(6,"six");
gwMap.put(7,"seven");
gwMap.put(8,"eight");
gwMap.put(9,"nine");
gwMap.put(10,"ten");
gwMap.put(11,"eleven");
gwMap.put(12,"twelve");
gwMap.put(13,"thirteen");
gwMap.put(14,"fourteen");
gwMap.put(15,"fifteen");
gwMap.put(16,"sixteen");
gwMap.put(17,"seventeen");
gwMap.put(18,"eighteen");
gwMap.put(19,"nineteen");
swMap.put(2,"twenty");
swMap.put(3,"thirty");
swMap.put(4,"forty");
swMap.put(5,"fifty");
swMap.put(6,"sixty");
swMap.put(7,"seventy");
swMap.put(8,"eighty");
swMap.put(9,"ninety");
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
long num = sc.nextInt();
StringBuilder sb = new StringBuilder();
while(num>=1000){
if(num/1000000000 == 0){
num%= 1000000000;
if(num/1000000 == 0){
num%= 1000000;
if(num/1000 == 0){
num%= 1000;
}else{
sb.append(ChineseToEnglish((int)(num/1000)));
sb.append("thousand ");
num%= 1000;
}
}else{
sb.append(ChineseToEnglish((int)(num/1000000)));
sb.append("million ");
num%= 1000000;
}
}else{
sb.append(ChineseToEnglish((int)(num/1000000000)));
sb.append("billion ");
num%= 1000000000;
}
}
sb.append(ChineseToEnglish((int)num));
System.out.println(sb.toString());
}
private static String ChineseToEnglish(int num){
if(num<=0 || num >= 1000){
return "";
}
StringBuilder sb = new StringBuilder();
int bw = num/100;
if(bw > 0){
sb.append(gwMap.get(bw)+" ");
sb.append("hundred ");
if(num>100){
sb.append("and ");
}
}
num%= 100;
int sw = num/10;
if(sw > 1){
sb.append(swMap.get(sw)+" ");
}
if(num>=10&&num<20){
sb.append(gwMap.get(num)+" ");
}else{
int gw = num%10;
if(gw > 0){
sb.append(gwMap.get(gw)+" ");
}
}
return sb.toString();
}
}