#CF1326D2. 前后缀回文(困难版)

前后缀回文(困难版)

前后缀回文(困难版)

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定一个仅由小写英文字母组成的非空字符串 ss。请找出最长的字符串 rr,满足:

  • rr 的长度不超过 ss 的长度;
  • rr 是回文串;
  • 存在两个可以为空的字符串 a,ba,b,使得 r=a+br=a+b,其中 aass 的前缀,bbss 的后缀。

输入格式

第一行包含一个整数 TT,表示测试用例数。

接下来 TT 行,每行包含一个非空字符串 ss,字符串仅由小写英文字母组成。

输出格式

对于每个测试用例输出一行,给出满足条件的最长字符串。如果有多个最长答案,输出任意一个即可。

样例输入 1

5
a
abcdfdcecba
abbaxyzyx
codeforces
acbba

样例输出 1

a
abcdfdcba
xyzyx
c
abba

样例解释

对于 abcdfdcecbaabcdfdcba 是一个最长合法答案。对于 codeforcescs 都是合法答案。

数据范围

对于所有数据,1T1051\le T\le 10^5,所有字符串的长度之和不超过 10610^6

子任务编号 分值 特殊限制
1 30 所有字符串的长度之和不超过 20002000
2 所有字符串的长度之和不超过 200000200000
3 40 无特殊限制