游戏 Thwack 在一个一维网格上进行:即游戏棋盘。每个网格单元包含一颗黑子、一颗白子或为空。
两名玩家轮流进行操作。一次操作包括选择两颗相邻且颜色不同的棋子,然后选择其中一颗棋子去“吃掉”另一颗。也就是说,一颗棋子通过移动到另一颗棋子的位置将其消除。当轮到某位玩家操作时,若没有可行的移动(即不存在任何一对相邻且颜色不同的棋子),则该玩家输掉比赛。
Thwack 的有趣之处在于,游戏棋盘没有默认的“初始设置”。任何游戏都可以通过简单地在网格上随机放置棋子来创建。
给定游戏的初始配置,你的任务是列出所有能让先手玩家获胜的开局移动,假设双方玩家均采取最优策略。
输入格式
第一行包含一个整数 $N$ ($1 \le N \le 100$),表示游戏棋盘上的单元格数量。
第二行包含一个长度为 $N$ 的字符串,仅由字符 B、W 或 . 组成,表示游戏开始时棋盘上单元格的初始内容。
输出格式
第一行输出先手玩家获胜的可能开局移动数量 $W$。随后输出 $W$ 行,第 $i$ 行包含两个整数 $A_i, D_i$ ($1 \le A_i, D_i \le N, |A_i - D_i| = 1$),表示将位置 $A_i$ 处的棋子移动去吃掉位置 $D_i$ 处的棋子是先手玩家获胜的一种可能开局。这些行应按字典序排列,即对于 $1 \le i < N$,满足 a) $A_i < A_{i+1}$ 或 b) $A_i = A_{i+1}$ 且 $D_i < D_{i+1}$。
样例
输入 1
4 BWBW
输出 1
2 2 3 3 2
输入 2
11 .BW.WB..W..
输出 2
0
输入 3
8 BBBBW.BW
输出 3
1 5 4
输入 4
9 BBBBBW.BW
输出 4
0
输入 5
12 WBBWBWWBBWBW
输出 5
5 2 1 4 5 5 4 10 11 11 10
输入 6
11 WBBWWWBBWBW
输出 6
5 1 2 4 3 9 10 10 9 11 10