Description
Farmer John保留了一份他的N头奶牛按照字母序排序的名单,贴在谷仓门口。每头奶牛的名字是由1到20个小写字母组成的不同的字符串。
麻烦的制造者Bessie,重新排序了列表,而且他还打乱了每个奶牛名字中的字母。
给出被重新排序后的列表,对于列表中的每个名字,请帮助FJ确定出,这个名字可能在原始列表的排序中出现的位置编号的最低值和最高值。
Input
第一行,一个整数N,1<=N<=50,000
接下来N行,每行一个字符串,表示被Bessie重新排序后的名单列表。
Output
输出N行,每行2个整数,第i行表示对于输入的第i个奶牛的名字,输出这个名字在FJ原始的名单列表中可能出现位置编号的最低值和最高值
HINT
【样例说明】:
对于输入中的字符串"a",不管如何进行重新排序,这个字符串在原始的名单列表中始终都是排在第一位。所以字符串"a"对应的输出是:1 1。
对于输入中的字符串"xzy",不管如何进行重新排序,这个字符串在原始的名单列表中始终都是排在最后一位。所以字符串"xzy"对应的输出是:4 4。
对于输入中的字符串"essieb"和"elsie",都有可能会排在第2位或者第3位。
比如:如果essieb的原始名字是bessie,那么bessie就是第2位,elsie就是第3位。如果essieb的原始名字是sisbee,而elsie的原始名字是ilees是,那么ilees就是第2位,sisbee就是第3位。所以字符串essieb和elsie对应的输出是:2 3.