#abc240h. [abc240_h]Sequence of Substrings

[abc240_h]Sequence of Substrings

問題文

0011 のみからなる長さ NN の文字列 S=s1s2ldotssNS = s_1 s_2 \\ldots s_N が与えられます。

整数の 22 つ組を KK 個並べた列 $\\big((L_1, R_1), (L_2, R_2), \\ldots, (L_K, R_K)\\big)$ であって以下の 33 つの条件をすべて満たすものが存在するような最大の整数 KK を出力してください。

  • i=1,2,ldots,Ki = 1, 2, \\ldots, K について、1leqLileqRileqN1 \\leq L_i \\leq R_i \\leq N
  • i=1,2,ldots,K1i = 1, 2, \\ldots, K-1 について、RiltLi+1R_i \\lt L_{i+1}
  • i=1,2,ldots,K1i = 1, 2, \\ldots, K-1 について、文字列 sLisLi+1ldotssRis_{L_i}s_{L_i+1} \\ldots s_{R_i} は文字列 sLi+1sLi+1+1ldotssRi+1s_{L_{i+1}}s_{L_{i+1}+1}\\ldots s_{R_{i+1}} より辞書順で真に小さい

制約

  • 1leqNleq2.5times1041 \\leq N \\leq 2.5 \\times 10^4
  • NN は整数
  • SS0011 のみからなる長さ NN の文字列

入力

入力は以下の形式で標準入力から与えられる。

NN SS

出力

答えを出力せよ。


入力例 1

7
0101010

出力例 1

3

K=3K = 3 のとき、例えば $(L_1, R_1) = (1, 1), (L_2, R_2) = (3, 5), (L_3, R_3) = (6, 7)$ が問題文中の条件を満たします。 実際、s1=0s_1 = 0s3s4s5=010s_3s_4s_5 = 010 より辞書順で真に小さく、s3s4s5=010s_3s_4s_5 = 010s6s7=10s_6s_7 = 10 より辞書順で真に小さいです。
Kgeq4K \\geq 4 のときは、問題文中の条件を満たす $\\big((L_1, R_1), (L_2, R_2), \\ldots, (L_K, R_K)\\big)$ は存在しません。


入力例 2

30
000011001110101001011110001001

出力例 2

9