import java.util.Scanner; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringJoiner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { private static final String[] units = {"thousand", "million", "billion"}; private static final String[] units2 = {"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty"}; private static final String[] units4 = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"}; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = br.readLine(); // 拼接逗号 int[] s = new int[(line.length() + 2) / 3]; // 012,345,674,346 int j = s.length * 3 - line.length(); for (int i = 0; i < s.length; i++) { s[i] = Integer.parseInt(line.substring(Math.max((i * 3 - j), 0), (i + 1) * 3 - j)); } for (int i = 0; i < s.length; i++) { // 获取逗号隔开的数字 int number = s[i]; // 计算百位上的数字 int a = number / 100; // 计算十位和个位的数字 int b = number % 100; if (a > 0) { System.out.print(units2[a] + " hundred "); // 拼接百位上的数字 if (b > 0) { System.out.print("and "); } } if (b >= 20) { System.out.print(units4[b / 10]); if (b % 10 > 0) { System.out.print(" " + units2[b % 10]); } } else { System.out.print(units2[b]); } if (s.length - 1 > i) { System.out.print(" " + units[s.length - 2 - i] + " "); } } } }