#P5663. 队列变换

队列变换

题目描述

FJ{FJ}打算带着他可爱的N(1{N (1 ≤} N{N ≤} 2,000){2,000)}头奶牛去参加"年度最佳老农"的比赛.在比赛中,每个农夫把他的奶牛排成一列,然后准备经过评委检 验.

比赛中简单地将奶牛的名字缩写为其头字母(theinitialletterofeverycow),{(the initial letter of every cow),}举个例子,FJ{FJ}带了Bessie,Sylvia,{Bessie, Sylvia,}Dora,{Dora,}那么就可以缩写为BSD.FJ{BSD. FJ}只需将奶牛的一个序列重新排列,然后参加比赛.他可以让序列中的第一头奶牛,或者最后一头走出来,站到新队列的队尾.

利欲熏心的FJ{FJ}为了取得冠军,他就必须使新队列的字典序尽量小. 给你初始奶牛序列({(}用头字母){)}表示,然后按照上述的规则组成新序列,并使新序列的字 典序尽量小.

输入格式

1{1}行:一个整数N.{N.}

2{2}行至第N+1{N+1}行:每行一个大写字母,表示初始序列中该奶牛的头字母.

输出格式

得到的最小字典序的序列.每输出80{80}个字母需要一个换行

样例

输入样例

6
A
C
D
B
C
B

输出样例

ABCBCD

提示

状态 原序列 新序列
1 ACDBCB
2 CDBCB A
3 CDBC AB
4 CDB ABC
5 CD ABCB
6 D ABCBC
7 ABCBCD