Префіксом рядка ~S~ назвемо будь який підрядок виду ~S[1..k]~, ~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
b
br
bra
Коментарі