3907: Lyndon 分解

内存限制:233 MB 时间限制:0.233 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

这是一道模板题。 读入一个由大小写英文字母或数字组成的字符串 $s$ ,请把这个字符串分成若干部分 $s=s_1s_2s_3\dots s_m$,使得每个 $s_i$ 都是 [Lyndon Word](https://en.wikipedia.org/wiki/Lyndon_word),且 $\forall 1\leq i

输入

一行一个长度为 $n$ 的仅包含大小写英文字母或数字的字符串 $s$。

输出

一行若干个整数,第 $i$ 个表示 $s_i$ 的右端点在 $s$ 中的位置。

样例输入 复制

ababa

样例输出 复制

2 4 5

提示

输入样例2


bbababaabaaabaaaab

输出样例2


1 2 4 6 9 13 18

输入样例3


azAZ0129

输出样例3


2 4 8

数据范围:$1 \leq |s|\leq 2^{20} $

来源/分类