CF1654B.Prefix Removals

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Prefix Removals

You are given a string ss consisting of lowercase letters of the English alphabet. You must perform the following algorithm on ss:

  • Let xx be the length of the longest prefix of ss which occurs somewhere else in ss as a contiguous substring (the other occurrence may also intersect the prefix). If x=0x = 0, break. Otherwise, remove the first xx characters of ss, and repeat.

A prefix is a string consisting of several first letters of a given string, without any reorders. An empty prefix is also a valid prefix. For example, the string "abcd" has 5 prefixes: empty string, "a", "ab", "abc" and "abcd".

For instance, if we perform the algorithm on s=s = "abcabdc",

  • Initially, "ab" is the longest prefix that also appears somewhere else as a substring in ss, so s=s = "cabdc" after 11 operation.
  • Then, "c" is the longest prefix that also appears somewhere else as a substring in ss, so s=s = "abdc" after 22 operations.
  • Now x=0x=0 (because there are no non-empty prefixes of "abdc" that also appear somewhere else as a substring in ss), so the algorithm terminates.

Find the final state of the string after performing the algorithm.

Input

The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases.

This is followed by tt lines, each containing a description of one test case. Each line contains a string ss. The given strings consist only of lowercase letters of the English alphabet and have lengths between 11 and 21052 \cdot 10^5 inclusive.

It is guaranteed that the sum of the lengths of ss over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, print a single line containing the string ss after executing the algorithm. It can be shown that such string is non-empty.

Note

The first test case is explained in the statement.

In the second test case, no operations can be performed on ss.

In the third test case,

  • Initially, s=s = "bbbbbbbbbb".
  • After 11 operation, s=s = "b".

In the fourth test case,

  • Initially, s=s = "codeforces".
  • After 11 operation, s=s = "odeforces".
  • After 22 operations, s=s = "deforces".

Samples

6
abcabdc
a
bbbbbbbbbb
codeforces
cffcfccffccfcffcfccfcffccffcfccf
zyzyzwxxyyxxyyzzyzzxxwzxwywxwzxxyzzw
abdc
a
b
deforces
cf
xyzzw

在线编程 IDE

建议全屏模式获得最佳体验