Суфіксом рядка ~S~ назвемо будь який його підрядок виду ~S[k.. size(S)]~, ~1≤ k ≤ size(S)~ ~(size(S)~- довжина рядка). Суфікс може бути як пустим, так і співпадати із самим рядком. Якщо суфікс не є пустим і не співпадає із рядком ~S~, то його називають власним суфіксом рядка ~S~. Напишіть програму, яка виводить кількість суфіксів та всі власні суфікси підрядка ~S[i..j]~ у порядку зменшення їх довжин.
Формат вхідних даних
Перший рядок вхідного стандартного потоку містить рядок ~S~, довжина якого не перевищує 100.
А у другий рядок записані через пропуск два індекси ~1 ≤ і ≤ size(S)~ та ~1 ≤ j ≤ size(S)~ ~(size(S)~- довжина рядка).
Формат вихідних даних
У перший рядок вихідного стандартного потоку вивести кількість суфіксів підрядка ~S[i..j ]~ та у наступні рядки вивести усі власні суфікси даного підрядка. Формат вихідних даних згідно прикладу.
Приклад вхідних даних
abracadabra
2 5
Приклад вихідних даних
5
rac
ac
с
Коментарі