Суфіксом рядка \(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
с
Коментарі