小 Mirko 在生日时收到了一部新手机!像现在的所有孩子一样,他很快下载了所有热门的手游,其中包括《喷气背包冒险》(Jetpack Joyride)。
在游戏中,主角 Barry 正在一个由 $10$ 行 $N$ 列等大正方形方格组成的区域中奔跑。最初,Barry 位于左下角方格的中心。Barry 以每秒一个方格的速度不断向右奔跑。此外,他必须避开挡在他路上的障碍物。
当 Mirko 按下手机屏幕时,Barry 会启动他超级厉害的专用喷气背包,并以每秒一个方格的速度开始上升(同时仍然向右移动,即以 $45^\circ$ 角向右上方对角线移动,直到他到达天花板,此时他将继续向右移动,直到 Mirko 释放屏幕)。当 Mirko 释放手机屏幕时,Barry 开始以每秒一个方格的速度下落(再次沿对角线移动,但这次是向右下方,直到他到达地面,此时他将继续向右移动)。
Mirko 最近才开始玩这个游戏,玩得还不太好。他在 YouTube 上看到有人成功通过了所有 $N$ 列完成了游戏,因此他向你寻求帮助。他会给你游戏中关卡的布局,你必须输出他为了获胜需要进行的具体操作。
输入格式
输入的第一行包含一个整数 $N$($1 \le N \le 10^5$),表示关卡的列数。
接下来的 $10$ 行,每行包含 $N$ 个字符 . 和 X,表示游戏关卡的布局。字符 X 表示障碍物,. 表示可行走的区域。
输出格式
输出的第一行必须包含一个整数 $P$($0 \le P \le 5 \cdot 10^4$),表示 Mirko 需要进行的操作次数。
在接下来的 $P$ 行中,每行输出一个操作,表示能解决 Mirko 问题的任意一组共 $P$ 个操作的序列。
每个操作由两个整数 $t_i$ 和 $x_i$ 决定,其中 $t_i$ 表示 Mirko 需要按下屏幕的时刻(秒),$x_i$ 表示他需要保持按住屏幕的时间(秒)。
操作序列必须按时间顺序排序。换句话说,必须满足 $t_i + x_i \le t_{i+1}$。
此外,任何操作都不能在游戏结束之后开始,即 $t_i < N$。
输入数据保证一定存在解。
样例
输入样例 1
11 .....XX...X ....XX...XX ...XX...XX. ........... ....XXX.... ........... .....X..... ....XX...X. ...XX...XX. ...X...XX..
输出样例 1
2 1 4 7 2
输入样例 2
20 X..................X .X................X. ..X..............X.. ...X............X... ....X..........X.... .....X........X..... ......X......X...... .......X....X....... ........X..X........ .........XX.........
输出样例 2
1 8 10
说明
样例 1 说明
Mirko 必须行进的路径用 * 表示:
.....XX...X ....XX...XX ...XX...XX. ........... ....XXX.... .....*...*. ....*X*.*.* ...*XX.*.X. ..*XX...XX. **.X...XX..