6546 - OKR-Periods of Words

一个串是有限小写字符的序列,特别的,一个空序列也可以一个串。一个串P是串B的前缀,当且仅当存在串B,使得A=PB。如果PA并且不知道P不是一个空串,那么我们说P是A的一个proper前缀。定义Q是A的周期,当且仅当Q是A的一个proper前缀并且A是QQ的前缀(不一定要是proper前缀)。比如串abab和abababa的周期。串A的最大周期就是它最长的一个周期或者是一个空串(当A没有周期的时候),比如说,ababab的最大周期是abab,串abc的最大周期是空串。给出一个串,求出它所有前缀的最大周期长度之和。

输入

第一行一个整数k(1<k<1000000)表示串的长度,接下来一行表示给出的串。

输出

输出一个整数表示它所有前缀的最大周期长度之和。

样例

输入

8
babababa

输出

24

来源

一本通

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题