#ZF1137. 活塞高手

活塞高手

Description

众所周知,活塞的作用就是推动物体。

但是活塞的推力有限制,无法同时推动过多的物体。

将若干个活塞放在一排,每个活塞向右放置(这意味着它只能推动它右侧的物体)。在这一排中,每个位置要么是活塞,要么没有放置任何物体。

当一个活塞触发时,如果:

  • 这个活塞的右侧连续 1212 个位置都放置了活塞,那么活塞的推力将不足以推动那么多物体,不会发生变化。
  • 这个活塞的右侧第一个位置没有放置活塞,那么将没有东西被推动,不会发生变化。
  • 否则,会将右侧所有连续放置的活塞向右推动一个位置,右侧原本的第一个位置将空出来。

现在将这些活塞摆放好,由活塞开头,由活塞结尾,共有 nn 个位置,每个位置上如果为 00,意味着这个位置没有放置活塞,如果为 11,意味着这个位置有放置活塞。每次可以触发任意一个活塞,触发操作可以进行 114514114514114514^{114514} 次,在操作过程中,活塞的位置可以由于被推动而向右无限延伸。

请问操作结束后相距最远的两个活塞中间最多间隔多少个位置。

Format

Input

第一行一个整数 n (2n2×106)n\ (2 \leq n \leq 2 \times 10 ^ 6) 表示初始这一排活塞的摆放的长度。

第二行有一个长 nn0101 串,其中 00 表示该位置没有放置活塞,11 表示该位置有放置活塞。保证开头结尾都为活塞。

Output

输出一个整数,表示进行 114514114514114514^{114514} 次操作后相距最远的两个活塞中间最多间隔多少个位置。

Samples

10
1000110011
9

Limitation

1s, 1024KiB for each test case.