#P16968. [SCCPC 2026] 博德之跃 3

[SCCPC 2026] 博德之跃 3

题目描述

给定一个由小写英文字母组成的字符串 SS,以及一个初始为空的字符串 TT

你需要对 SS 执行若干次操作,直到它变为空字符串。每次你可以执行以下三种操作中的一种:

  • 删除 SS 的第一个字符,并将其添加到 TT 的末尾。
  • 删除 SS 的最后一个字符,并将其添加到 TT 的末尾。
  • 选择非空串 A,BA,B 满足 S=ABARS = ABA^R,令 S=BS=B 并将字符串 AA 添加到 TT 的末尾。

其中 ARA^R 表示字符串 AA 的反串。

求在所有操作方案中,能得到的字典序最小的 TT

输入格式

本题有多组测试数据。

输入第一行一个正整数 tt1t1051 \le t \le 10^5),表示测试数据组数。

每组测试数据:

输入一行一个由小写字母组成的字符串 SS1S5×1051 \le |S| \le 5 \times 10^5)。

保证所有测试数据 S|S| 之和不超过 5×1055 \times 10^5

输出格式

每组测试数据输出一行一个字符串表示答案。

6
cba
zayaz
aaaaa
xazbx
ababa
aa
abc
zaay
aaa
xabz
aaba
aa