#P1613. 策略游戏

策略游戏

题目描述

ak机和鸭哥正在进行一场策略游戏,游戏中包含一列其nn枚硬币,编号从11nn,ak机首先排列这些硬币,并决定每一枚硬币是正面朝上还是反面朝上。

接下来,鸭哥的任务是选择一段连续且非空的区间,并将区间内的所有硬币翻转,以最大翻转后正面朝上的硬币数量。

现在ak机已经摆好了硬币,你需要回答鸭哥能够达到的最大正面朝上硬币数,以及他应该翻转哪个区间来实现这一目标。由于鸭哥是个懒人,如果存在多个区间可以达到最大数量,你应该返回长度最短的那个;

如果长度最短的区间有多个,返回最靠左的那个区间。

输入描述

一行一个0101s(1s105)s(1\le |s|\le 10^5),表示每个硬币是否为正面朝上(11表示正面朝上,00表示反面朝上)

输出描述

第一行输出一个非负整数,表示鸭哥能够达到的最大正面朝上硬币数。

第二行输出空格间隔的两个正整数,表示鸭哥翻转的区间,即从左到右翻转的第一枚硬币和最后一枚硬币的编号。

样例

输入

0011100001

输出

8
6 9