#L2704. 「POI2012 R3」前后缀 Prefixuffix

「POI2012 R3」前后缀 Prefixuffix

题目描述

译自 POI 2012 Stage 3. Day 2「Prefixuffix」

如果能把字符串的一个后缀移动到开头得到另一个字符串,则这两个字符串称为「循环等价」。

给定由 nn 个小写字母组成的字符串 tt,求它的一个长度相同的前缀和后缀,满足:

  1. 前缀和后缀循环等价;
  2. 前缀和后缀的长度不超过 n2\frac{n}{2}(即在 tt 内不相交);
  3. 满足上述条件的情况下,使前缀和后缀的长度最大。

输入格式

第一行一个整数 nn1n10000001 \le n \le 1\,000\,000),表示字符串 tt 的长度。

接下来一行为字符串 tt,由 nn 个小写字母组成。


输出格式

输出一个整数,表示前缀和后缀的长度。


样例

输入

15
ababbabababbaab

输出

6

数据范围与提示

  • 对于 30%30\% 的数据,n500n \le 500
  • 对于 50%50\% 的数据,n5000n \le 5000
  • 对于所有数据,n1000000n \le 1\,000\,000