#2479. 队列变换

队列变换

题目描述

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

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

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

输入格式

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

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

输出格式

得到的最小字典序的序列.每输出80\red{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