#arc0032. [arc003_2]さかさま辞書

[arc003_2]さかさま辞書

问题文

高桥君和朋友决定在聊天中玩反向绕口令游戏。
反向绕口令的规则是回答以前的人说的词的首字母结尾的词。
然而,高桥君对英语单词不自信,所以他决定偷偷使用“反向词典”。

普通的词典按照单词开头的字母顺序排列,当两个单词的首字母相同时,下一个字母按照字母顺序排列。
与普通的词典顺序不同,“反向词典”是从末尾的字母开始查找。
例如,apple, bee, card 在普通词典中的顺序是 apple → bee → card。
但在“反向词典”中,以 d 结尾的 card 排在第 1 位,以 e 结尾的 apple 和 bee 相同,所以在它们之前是以 e 结尾的 bee,排在第 2 位,在它们之前是以 l 开头的 apple,排在第 3 位。

图(a):按普通词典顺序排列的示例 图(b):按反向词典顺序排列的示例

请代替高桥君创建一个“反向词典”,并将给定的单词按照“反向词典”的顺序排列。


输入

输入通过标准输入给出,具体格式如下。NN s1s_{1} s2s_{2} : : sNs_{N}

  • 第 1 行是一个整数 N(1N100)N (1 ≦ N ≦ 100),表示要排列的单词数。
  • 第 2 行到第 N 行,每行包含一个字符串,表示要排列的单词。
  • 第 i+1 行的字符串 sis_i 长度在 1 到 20 之间,只包含小写字母(a-z)。
  • 注意,不会出现重复的单词。

输出

请按照输入中给出的单词,在反向词典顺序下,每行输出一个单词。
最后要输出一个换行符。


输入例子 1


5
chokudai
kensho
imos
yuichirw
ao

输出例子 1


chokudai
ao
kensho
imos
yuichirw
  • 首先,分别查找每个单词的最后一个字母,得到 i, o, s, w。
  • 但是 kensho 和 ao 的第二个字母都是 o,所以它们需要按照前一个字母的顺序排序。
  • kensho 的倒数第二个字母是 h,ao 的倒数第二个字母是 a,所以按照 ao, kensho 的顺序排列。
  • 因此答案是 chokudai, ao, kensho, imos, yuichirw。

输入例子 2


2
dart
art

输出例子 2


art
dart
  • 比较倒数第 1、2、3 个字母,它们都相同,所以比较倒数第 4 个字母。
  • 但是 art 没有第四个字母。
  • 如果找不到,则认为在 a 之前,所以按照 art, dart 的顺序排列。

数据来源

ARC 003