#XMOJ11280. 法语的数字

法语的数字

说明

时间限制:1 Sec 内存限制:256 MB 输入文件number.in 输出文件number.out

法语是一门国际性语言,也是联合国六种工作语言之一。

法语数字的构造方法很有特点。虽然世界各地的很多法语区都对此进行了简化,但在法国本土,这些特殊的规则仍然在广泛运用,是很多初学者的噩梦。

1. 基本数字

  • $0$ 到 $16$:zéro($0$),un($1$),deux($2$),trois($3$),quatre($4$),cinq($5$),six($6$),sept($7$),huit($8$),neuf($9$),dix($10$),onze($11$),douze($12$),treize($13$),quatorze($14$),quinze($15$),seize($16$)。
  • 整十:vingt($20$), trente($30$),quarante($40$),cinquante($50$),soixante($60$)。
  • $17$ 到 $69$ 的非整十:dix-sept($17$)、dix-huit($18$)、……、soixante-huit($68$)、soixante-neuf($69$)。
  • 百:cent;千:mille;百万:million。没有“万”,$10,000$ 是 dix mille,$100,000$ 是 cent mille。

2. 特殊数字

  • $70$ 到 $79$:soixante-dix($70=60+10$),soixante et onze($71=60+11$),soixante-douze($72=60+12$),……,soixante-dix-neuf($79=60+19$)。
  • $80$ 到 $99$:quatre-vingts($80=4 \times 20$), quatre-vingt-un($81=4 \times 20+1$), quatre-vingt-deux($82=4 \times 20+2$),……,quatre-vingt-neuf($89=4 \times 20+9$),quatre-vingt-dix($90=4 \times 20+10$),quatre-vingt-onze($91=4 \times 20+11$),……,quatre-vingt-dix-neuf($99=4 \times 20+10+9$)。

3. 复数形式:

  • vingt($20$)在 $80$ 里是复数:quatre-vingts,其他情况都是不加 s。
  • 整百($\ge 200$)时 cent 加 s:deux cents($200$)。
  • 若百位后还有数字则不加 s:deux cent deux($202$)。
  • 整百如果用于修饰其他单位,也不加 s:deux cent mille($200,000$)。
  • 整千($\ge 2000$)时 mille 永远不加 s。
  • 百万($\ge 200$ 万)时 million 加 s。

4. 连字符与连接词:

  • 十位与个位之间必须加连字符:vingt-deux($22$)。
  • 但如果个位是 $1$ 时用 et un 连接:vingt et un($21$)。
  • 但请注意 $71$ 和 $81$ 的特殊写法。
  • 百/千/百万与后续数字之间加一个空格。

5. 冠词:

  • 一百万是 un million,冠词 un 必须加。
  • 一百和一千分别是 cent、mille,不能加冠词 un。
  • 但当千位为 1 且前面有百万位时,冠词 un 必须加:un million un mille cinquante-six($1,001,056$)。

请你根据以上规则,将给定的正整数翻译为正确的本土法语表达。

输入格式

第一行为一个正整数 $n$,表示有 $n$ 个数字需要翻译;

接下来有 $n$ 行,第 $i$ 行为第 $i$ 个待翻译的数字 $a_i$。

输出格式

$n$ 行,第 $i$ 行为第 $i$ 个数字对应的法语表达。

样例

样例 1

6
1117
3061792
800571
3280
199
999999999

mille cent dix-sept
trois millions soixante et un mille sept cent quatre-vingt-douze
huit cent mille cinq cent soixante et onze
trois mille deux cent quatre-vingts
cent quatre-vingt-dix-neuf
neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf

数据范围

$1 \le n \le 10$

$1 \le a_i \lt 10^9$