Joseph 非常喜欢日本文化。去年他学习了日本传统服饰和视觉艺术,现在他正试图揭开一种名为“数织”(Nonogram)的日本游戏的秘密。
在一维版本的游戏中,有一行 $n$ 个空单元格,其中一些需要用笔填充。有一种关于解的描述称为“轮廓”(profile)——这是一个正整数序列,表示连续填充单元格的长度。例如,轮廓 $[4, 3, 1]$ 意味着依次有长度为 4、3 和 1 的填充单元格集合,且连续的集合之间至少有一个空单元格。
当 $n = 12$ 且 $p = [4, 3, 1]$ 时的合适解。
错误的解:前四个填充单元格应该是连续的。
错误的解:最后一个填充单元格之前应该至少有一个空单元格。
Joseph 发现,对于某些数字 $n$ 和轮廓 $p$,有很多种填充单元格的方法可以满足该轮廓。现在他正在解决一个由 $n$ 个单元格和轮廓 $p$ 组成的数织游戏。他已经创建了一个 $p$ 的掩码(mask)——他填充了在数织游戏的所有解中都必须被填充的所有单元格。
当 $n = 12$ 且 $p = [4, 3, 1]$ 时的掩码:上面所有被填充的单元格在每个解中都是被填充的。
休息过后,他丢失了原始轮廓 $p$。他只剩下 $n$ 和掩码 $m$。请帮助 Joseph 找到任何一个具有掩码 $m$ 的轮廓 $p'$,或者指出不存在这样的轮廓,说明 Joseph 犯了错误。
输入格式
唯一的一行包含一个字符串 $m$ —— 原始轮廓 $p$ 的掩码。$m$ 的长度为 $n$ ($1 \le n \le 100\,000$)。字符串 $m$ 由符号 # 和 _ 组成,分别表示被填充和空的单元格。
输出格式
如果没有具有掩码 $m$ 的轮廓,输出数字 $-1$。否则,在第一行输出一个整数 $k$ —— 轮廓 $p'$ 中整数的个数。在第二行,输出轮廓 $p'$ 的 $k$ 个整数。
样例
样例 1
__#_____
2 3 2
样例 2
_#
-1
样例 3
___
0