import java.util.Scanner;
import java.util.Map;
import java.util.HashMap;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static String result = "";
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLong()) { // 注意 while 处理多个 case
Long a = in.nextLong();
StringBuffer sb = new StringBuffer();
toEnglish(a, sb, 0);
System.out.println(result);
}
}
public static void toEnglish(long input, StringBuffer sb, int count) {
if (input == 0) {
result = sb.toString();
return;
}
Map<Integer, String> map = new HashMap<>();
map.put(0, "thousand");
map.put(1, "million");
map.put(2, "billion");
Map<Integer, String> numberMap = new HashMap<>();
numberMap.put(1, "one"); numberMap.put(2, "two"); numberMap.put(3, "three");
numberMap.put(4, "four"); numberMap.put(5, "five"); numberMap.put(6, "six");
numberMap.put(7, "seven"); numberMap.put(8, "eight"); numberMap.put(9, "nine");
numberMap.put(10, "ten"); numberMap.put(11, "eleven"); numberMap.put(12, "twelve");
numberMap.put(13, "thirteen"); numberMap.put(14, "fourteen"); numberMap.put(15, "fifteen");
numberMap.put(16, "sixteen"); numberMap.put(17, "seventeen"); numberMap.put(18, "eighteen");
numberMap.put(19, "nineteen"); numberMap.put(20, "twenty"); numberMap.put(30, "thirty");
numberMap.put(40, "forty"); numberMap.put(50, "fifty"); numberMap.put(60, "sixty");
numberMap.put(70, "seventy"); numberMap.put(80, "eighty"); numberMap.put(90, "ninety");
long next = input / 1000;
long current = input % 1000;
int gewei = (int)current % 10;
int shiwei = (int)(current / 10) % 10;
int baiwei = (int)(current / 100) % 10;
StringBuffer tempBuffer = new StringBuffer();
if (input >= 1000) {
tempBuffer.append(" " + map.get(count));
}
if (baiwei != 0 && shiwei == 0 && gewei == 0) {
if (next != 0) {
tempBuffer.append(" " + numberMap.get(baiwei)).append(" hundred");
} else {
tempBuffer.append(numberMap.get(baiwei)).append(" hundred");
}
toEnglish(next, tempBuffer.append(sb), count + 1);
return;
}
if (baiwei != 0) {
if (next != 0) {
tempBuffer.append(" " + numberMap.get(baiwei)).append(" hundred").append(" and");
} else {
tempBuffer.append(numberMap.get(baiwei)).append(" hundred").append(" and");
}
}
if (shiwei != 0 && gewei == 0) {
if (next == 0 && baiwei == 0) {
tempBuffer.append(numberMap.get(shiwei * 10));
} else {
tempBuffer.append(" " + numberMap.get(shiwei * 10));
}
toEnglish(next, tempBuffer.append(sb), count + 1);
return;
}
if (shiwei != 0 && shiwei != 1) {
if ((next == 0 && baiwei == 0)) {
tempBuffer.append(numberMap.get(shiwei * 10));
} else {
tempBuffer.append(" " + numberMap.get(shiwei * 10));
}
}
if (shiwei == 1) {
if (next != 0) {
tempBuffer.append(" " + numberMap.get(10 + gewei));
} else {
tempBuffer.append(numberMap.get(10 + gewei));
}
} else if (gewei != 0) {
if (next == 0 && shiwei == 0) {
tempBuffer.append(numberMap.get(gewei));
} else {
tempBuffer.append(" " + numberMap.get(gewei));
}
}
toEnglish(next, tempBuffer.append(sb), count + 1);
}
}