A. Ребляндская лингвистика
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Берляндском Государственном Институте Мира и Дружбы готовят первоклассных специалистов. И вы, как один из самых талантливых людей в Берляндии, обучаетесь именно в нём. Учёба нелегка, ведь от выпускников требуются фундаментальные знания в очень многих зачастую совершенно не связанных друг с другом областях.

Например, среди прочего, вы должны хорошо знать лингвистику. И последние месяцы на этом предмете вы изучаете структуру иностранного для студентов Ребляндского языка. В этом языке слова строятся по следующей схеме. Сначала выбирается корень слова, состоящий не менее чем из пяти букв. Затем к слову приписывается несколько строк длиной 2 или 3 символа. Единственное ограничение — нельзя приписывать одну и ту же строку подряд два или более раз. Все эти строки считаются суффиксами слова (в смысле морфемы, а не последних нескольких символов, как вы, возможно, привыкли).

Одно из упражнений, которое вы встретили в своём задании, выглядит следующим образом. Вам дано слово s, и вам необходимо найти все различные строки длины 2 или 3, которые могли оказаться его суффиксами, учитывая правила построения слов в Ребляндском языке.

Две строки считаются различными, если у них разная длина или существует позиция, в которой в этих строках записаны различные символы.

В задании также разобран следующий пример: дано слово abacabaca. Его возможно получить следующими способами: , где надчеркиваниями обозначен корень слова, а «уголками» — суффиксы. Таким образом, множество возможных суффиксов для этого слова: {aca, ba, ca}.

Входные данные

В единственной строке находится строка s (5 ≤ |s| ≤ 104), состоящая из строчных букв английского алфавита.

Выходные данные

В первой строке выведите целое число k — количество различных возможных суффиксов. В следующих k строках выведите сами суффиксы.

Строки нужно выводить в лексикографическом (алфавитном) порядке.

Примеры
Входные данные
abacabaca
Выходные данные
3
aca
ba
ca
Входные данные
abaca
Выходные данные
0
Примечание

Первый тест разобран выше в основной части условия задачи.

Во втором примере строка имеет длину 5. Так как корень имеет длину не менее 5, то никакая строка не может быть использована в качестве суффикса.