JOIOJI 是 JOI 君的叔父。JOIOJI 很喜欢自己的名字,因为其中 J、O、I 三个字母各出现了 2 次。
最近,JOIOJI 有了孩子。JOIOJI 想给孩子起一个和自己名字一样的名字,即由 J、O、I 组成,且这三个字母出现的次数恰好相等。
JOIOJI 家里有一卷代代相传的卷轴,上面写着一首诗。这首诗是一个长度为 $N$ 的字符串,仅由 J、O、I 三种字符组成。JOIOJI 打算从这首诗中找出一个连续子串作为孩子的名字,要求该子串中 J、O、I 三个字母出现的次数恰好相等,且长度最长。
题目描述
给定 JOIOJI 拥有的卷轴上的诗的信息。请编写一个程序,求出诗中满足 J、O、I 三个字母出现次数恰好相等的连续子串的最大长度。
输入格式
从标准输入读取以下数据:
- 第 1 行包含一个整数 $N$,表示卷轴上诗的长度。
- 第 2 行包含一个长度为 $N$ 的字符串 $S$,表示卷轴上的诗。$S$ 中的每个字符均为 J、O、I 中的一个。
输出格式
输出一个整数,表示诗中满足 J、O、I 三个字母出现次数恰好相等的连续子串的最大长度。如果不存在这样的子串,则输出 0。
数据范围
所有输入数据满足以下条件:
- $1 \le N \le 200\,000$
子任务
子任务 1 [5 分] * 满足 $N \le 200$。
子任务 2 [15 分] * 满足 $N \le 4\,000$。
子任务 3 [80 分] * 无附加限制。
样例
样例输入 1
10 JOIIJOJOOI
样例输出 1
6
说明 1
在该样例中,卷轴上写着长度为 10 的诗 JOIIJOJOOI。
这首诗中包含连续子串 IIJOJO,其中 J、O、I 各出现了 2 次。由于不存在 J、O、I 各出现 3 次及以上的连续子串,因此输出 IIJOJO 的长度 6。
样例输入 2
8 IOIIJIIO
样例输出 2
0
说明 2
由于诗中不包含满足条件的子串,因此输出 0。
样例输入 3
20 JJIOOIJIJOIOJIOJOOIJ
样例输出 3
15