100001 - 英文数字(english)

英文数字的写法和中文类似,比如中文一千二百,对应英文就是One Thousand (and) Two Hundred。在英式英语中需要有and连接,美式英语则不需要。不过英文和中文在数字写法的规则有以下两点不同:

11至19的数字,20至90的十的倍数数字的表达都直接用一个固定的单词表示:

Eleven 11 Twenty 20 Twelve 12 Thirty 30 Thirteen 13 Forty 40 Fourteen 14 Fifty 50 Fifteen 15 Sixty 60 Sixteen 16 Seventy 70 Seventeen 17 Eighty 80 Eighteen 18 Ninety 90 Nineteen 19

在表达大数字时,对应中文的百、千、万、亿,英文则有对应的"Thousand"(千),"Million"(百万), "Billion"(十亿)。和中文相同的是,在这些数字之前还需要有数字来描述具体的数量,并且保证尽量用小的数字来描述大的数字的数量。比如Two Thousand(二千)就是用Two(二)来描述Thousand(千)的数量,而不是Thousand Two(千二)。

上表未提到的其余英文和数字对照表见数据范围。

现在给定一个非负整数,要求你编写程序输出对应的英文表达的字符串。不同英文单词之间都用一个空格分割开。不用输出"and"单词,要求每个单词的第一个字母都是大写。

输入

从文件english.in中读入数据。输入只有一个数字。

输出

输出到文件english.out中。输出一行,每行包含一个字符串,表示输入数字对应的英文表达字符串。

样例

输入

13

输出

Thirteen

输入

2345

输出

Two Thousand Three Hundred Forty Five

提示

对于所有测试数据保证:0\le n\leq {10}^{12} Zero 0 Ten 10 One 1 Hundred 100 Two 2 Thousand 1000 Three 3 Million 1000000 Four 4 Billion 1000000000 Five 5 Six 6 Seven 7

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题