Суфіксний масив#2894

Суфіксний масив

1 секунда
128 мегабайтів
Дуже легка

Дано рядок, побудуйте його суфіксний масив. Суфіксний масив — це масив усіх суфіксів рядка, впорядкований у лексикографічному порядку. Кожен суфікс представляється його початковою позицією (цілим числом).

Рядок вважається лексикографічно меншим за рядок , якщо існує таке , що s_i < t_i, і s_j = t_j для всіх j < i. Якщо такого не існує і рядок коротший за , то також вважається меншим.

Тут s_i позначає код -го символу рядка .

Вхідні дані

Один рядок — англійський текст. Довжина тексту не перевищує 10^5. Коди всіх символів у тексті належать діапазону від до .

Вихідні дані

Виведіть цілих чисел — суфіксний масив для заданого рядка.

Приклади

Приклад 1

Loading
Loading