#2187. 蛙跳训练

蛙跳训练

Background

Special for beginners, ^_^

Description

小明由于立定跳远成绩不及格,被体育老师抓去每天下午放学后训练蛙跳。

体育老师在地上画了 n+1n+1 个方格,编号从 0 到 nn,显然 0 是起点, nn 是终点。

有些格子上站着惨无人道加(围)油(观)的同学和老师,所以不能跳到这些格子上。用 1 表示。其它格子为 0 。

由于这个体育老师是大学里打过ICPC,因为一道题数组越界而痛失金牌,从此跟越界结下了梁子。也就是说,如果小明最后一次跳跃,直接越过了终点,那么这次训练就得重来。

假设小明每次跳跃的距离为不超过 mm 的正整数,再给出一个二进制串表示每个格子的空闲情况,问小明想用最少的次数完成蛙跳训练,那么每次要跳几格。如果有多组解,输出最小字典序。如果无法完成则输出 -1 。

保证起点和终点都是字符 0 。

Format

Input

第一行给出两个正整数 nnmm , 分别表示格子为从 0 到 nn 以及小明每次可以跳跃的最大距离。nnmm 都不超过 10510^5

第二行给出一个二进制字符串表示每个格子的占用情况。

Output

完成蛙跳训练次数最少时,每次要跳几格。如果有多组解,输出最小字典序。如果无法完成则输出 -1 。

Samples

8 3
000100010
2 3 3

Limitation

1s, 1024KiB for each test case.