#7020. 还原字符串

还原字符串

题目描述

有一个小写英文字符串 ss,将这个字符串复制一份,再与原字符串拼接,将会得到 sss\cdot s,接下来,将这个双倍字符串的某个位置插入某个小写英文字母,最后得到一个字符串 tt

给定 tt,请找出它对应的 ss,若这样的 ss 有多种可能,则输出 ss 的全部可能。

输入格式

单个字符串 tt,保证都是小写英文字母,且 tt 的长度为奇数。

输出格式

  • 如果不存在,输出 No solution
  • 如果只存在一种可能,输出该字符串;
  • 如果存在多种可能,优先输出字典序靠前的字符串,将这些字符串用换行符隔开。
abcdabc
abc
abcde
No solution
ababa
ab
ba

数据范围

nn 为字符串 tt 的长度,

  • 对于30%30\%的数据,n21n\leq 21
  • 对于60%60\%的数据,n5001n\leq 5001
  • 对于100%100\%的数据,3n50000013\leq n\leq 5000001