U549254 期末作业(homework)
题目背景
又到了期末考试的时间,小A在认真复习整理她的平时作业。但是她平时喜欢用中文命名每次作业,于是她在她的电脑上发现了这样神奇的一幕:

小A非常困惑为什么这样排序,经过她的观察,她猜想可能是按照拼音的字典序进行排序的。由于小A有太多作业了,她只需要复习 $n$ 份老师划重点的作业,所以她希望你能够帮助她,用这种方式给划重点的作业排序,节省小A的检索时间。
题目描述
形式化的说,给定一个包含 $n$ 个整数的数组,请将这些整数按照给定的中文读音拼音的字典序进行排序,并输出排序后的结果。由于不同人读的习惯不一样,小A在这里强制规定:
* 从高位到低位,依次读每一位的中文拼音
* 特殊读法:
当 $2$ 放在开头时,且 $2$ 不在个位和十位,此时 $2$读作liang.
* 特定读法:
十位:如果是 $10$,读作yi shi,如 $13$ 是yi shi san。如果有前缀,如 $213$,是 liang bai yi shi san。
百位:直接加单位bai,如 $202$ 是liang bai ling er,$220$ 是liang bai er shi。
千位:加单位qian,如 $3210$ 是san qian er bai yi shi.
万位:加单位wan,如 $22234$ 是liang wan er qian er bai san shi si 。
* 零的读法:
连续的零只读一个 ling。例如: $1010$ 读作 yi qian ling yi shi,$10010$ 读作 yi wan ling yi shi。
如果零在数字末尾,则不读出。例如:$1000$读作yi qian,而不是yi qian ling。$0$ 如果有间隔的零,则都需要读。例如: $40201$ 读作si wan ling er bai ling yi。
如果前一位是零,且当前位非零,需要明确读出ling。
* 单位的处理:
每一位的数字如果是非零,都需要加上单位:万、千、百、十,除了最后一位。
| 数 | 读法 |
| :----------: | :----------: |
| 10100 | yi wan ling yi bai |
| 20013 | liang wan ling yi shi san |
| 22311 | liang wan er qian san bai yi shi yi |
| 3251 | san qian er bai wu shi yi |
| 2222 | liang qian er bai er shi er |
| 1015 | yi qian ling yi shi wu |
| 1296 | yi qian er bai jiu shi liu |
| 218 | liang bai yi shi ba |
| 207 | liang bai ling qi |
| 101 | yi bai ling yi |
| 24 | er shi si |
| 2 | er |
| 0 | ling |
输入格式
输入共包含两行,其中第一行包含一个正整数 $n$,表示数组的长度第二行包含 $n$ 个整数,由空格隔开,表示数组中的整数。
输出格式
输出共有 $n$ 行,每行包含 $1$ 个整数,表示排序后的结果。
说明/提示
对于 $30\%$ 的数据,$0≤a_i \le 9$。
对于另外 $20\%$ 的数据,$1≤n≤20$。
对于另外 $20\%$ 数据,$0≤a_i\le999$。
对于另外 $20\%$ 数据,$0≤a_i\le9999$。
对于 $100\%$ 的数据,$1≤n\le1000,0≤a_i\le99999$。