#P16170. [ICPC 2015 NAIPC] String Stretching

[ICPC 2015 NAIPC] String Stretching

题目描述

Start with a string pp. Now, create a new string ss, like this: Start with the empty string, and insert pp. Then, choose some position in the string (including, possibly, the very beginning or the very end), and insert pp again. And again. And again.

For example, suppose pp is "hello". Starting with the empty string, a string ss might be generated like this (each new insertion of pp is in bold):

  1. hello
  2. hhelloello
  3. hhelloelhellolo
  4. hhehellolloelhellolo

So, after 5 steps, the string ss is hhehellolloelhellolo.

Given the final string ss, find the shortest string pp which could have generated ss. If there’s more than one with the shortest length, find the one that comes first alphabetically.

输入格式

Each input will consist of a single test case. Note that your program may be run multiple times on different inputs. Each input consists of a single line with a single string ss. The string will consist of only lower case letters, and will be at least 11, and at most 200200, characters long.

输出格式

Output a single line with the string pp, which is the shortest possible string that could generate ss.

hhehellolloelhellolo
hello