#2604. 排队----cx201303

排队----cx201303

Background

按身高排队是我们最常用的一种排队方法,一伙小朋友已经非常厌倦了这种排队方式,这次他们打算按每个人的姓名排队,但如果按照姓名的字典序进行排队似乎有点麻烦,所以他们找了一种比较简单的排队方法:根据姓名的长度进行排队,姓名长的排在最前面,姓名短的排在最后面。

​姓名的长度他们有这样的约定:每个人的姓名只能由“​a​”(ASCII 码为 ​97​)到“​z​” (ASCII 码为 ​122​)这 26 个小写英文字母构成,姓名的长度就是姓名中字母的总个数。由于小朋友人数比较多,请根据他们的排队方法,编程帮助他们排队吧!

Input

【输入数据】输入文件 queue.in:输入从文件中读取,输入共 n+1 行。

第 1 行是一个整数 n(1≤n≤15000),表示总共有 n 个小朋友参加排队(编号为 1 到 n)。

第 2 行到第 n+1 行,每行一个字符串,其中第 i+1 行表示第 i 个小朋友的姓名,数据保证每个小朋友都有姓名,并且姓名的长度不超过 255。

Output

【输出数据】输出文件 queue.out:结果输出到文件中。

输出共 n 行,表示经过排队后的小朋友的姓名情况,姓名长的先输出,姓名短的后输出。

注意,当小朋友的姓名长度一样时,输出的顺序同输入的顺序(参考样例解释)。

Samples

3
aoteman
guaishou
jiqiren 
guaishou
aoteman 
jiqiren 

Limitation

【样例解释】

有 3 个小朋友参加了排队,第 1 个小朋友的姓名长度为 7,第 2 个小朋友的姓名长度为 8,第 3 个小朋友的姓名长度为 7。因为第 2 个小朋友的姓名最长,所以最先输出,第 1 个小朋友和第 3 个小朋友的姓名长度都为 7,但在输入中,小朋友“aoteman”在小朋友“jiqiren” 的前面,所以先输出“aoteman”,然后输出“jiqiren”。

【数据范围约定】

60%的输入数据保证 1≤n≤1000,且每个小朋友的姓名长度不超过 100。

80%的输入数据保证 1≤n≤8000,且每个小朋友的姓名长度不超过 255。

100%的输入数据保证 1≤n≤15000,且每个小朋友的姓名长度不超过 255。