У Ноку есть полоска бумаги разбитая на n пустых клеток, расположенных в один ряд. Ноку хочет покрасить эту полоску в цвета, определяемые строкой s, то есть получить ситуацию, при которой i-я клетка имеет цвет si (цвета в задаче представлены маленькими английскими буквами от «a» до «z»). При этом полоску нельзя перемещать, поворачивать или переворачивать. Считается, что изначально клетки полоски не покрашены ни в какой конкретный цвет.
Бюджета Ноку хватит на покупку одного штампа. Штамп будет состоять из k клеток (1 ≤ k ≤ n), каждая из которых будет покрашена в некоторый цвет. Слева направо обозначим цвета штампа как t1, t2, ..., tk. При этом конкретные цвета и даже значение k Ноку ещё не выбрал.
Для того чтобы воспользоваться штампом требуется выбрать некоторые k последовательных клеток кусочка бумаги. При применении, штамп не может вылезать за границы области из n клеток и не может покрывать только часть какой-то клетки. Штамп также не разрешается поворачивать или переворачивать. При нажатии штамп выставляет цвета k покрытых клеток таким образом, что i-я клетка выбранной области получает цвет ti. Разрешается применять штамп таким образом, что какая-то клетка попадает под действие штампа несколько раз и несколько раз поменяет свой цвет. Цвет клетки полоски бумаги всегда равен последнему цвету клетки штампа, под которую она попала.
По данной строке s найдите все штампы, используя которые Ноку может в итоге получить желанную раскраску. Выведите их в лексикографическом порядке.
В первой и единственной строке входных данных записана строка s (1 ≤ |s| ≤ 150).
Выведите в лексикографическом порядке все штампы, с помощью которых можно получить заданную строку.
aaaaa
a
aa
aaa
aaaa
aaaaa
babaaba
ba
baaba
baba
babaaba
В первом примере Ноку может получить строку «babaaba» из штампа «ba» используя следующую последовательность действий: