#P3595. 非连续回文子序列问题

非连续回文子序列问题

Description

给出一个只包含小写英文字母的字符串 s,其长度不超过20。请你找出所有 s 中非连续回文子序列,并按照字典序从小到大打印出来。

Input

一行字符串

Output

找出所有 s 中非连续回文子序列,并按照字典序从小到大打印出来。

Samples

input1

aaa

output1

a
aa

input2

abcba

output2

a
aa
aca
b
bb
c

Limitation

1s, 256MB

一个字符串被称作回文串当且仅当这个字符串从左往右读和从右往左读都是相同的。

例如,abcba、caadaac

字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。

例如,对于X="ABCBDAB" ,Y="BCDB" 是 X 的一个子序列。

非连续子序列:要求子序列中对应的原序列的位置不能是连续的。

如 对于X="ABCDEF", Y="BC"就不是非连续子序列,因为"B"与"C"在X中一定是连续的。

对于X="AAAA", Y="AA"是非连续子序列,因为"AA"在X中对应位置可以是不连续的。