Radewoosh 从父母那里收到了一个新的谜题。这次谜题包含两个循环排列的球序列。每个序列包含 $n$ 个球,每个球要么是白色,要么是黑色。总的来说,两个序列中恰好包含 $n$ 个白球和 $n$ 个黑球。为了描述这个谜题,我们使用字符串 $a$ 和 $b$ —— 字符串 $a$ 的连续字符表示第一个序列中连续球的颜色,字符串 $b$ 的连续字符表示第二个序列中连续球的颜色。两个序列中的位置均从 $1$ 到 $n$ 编号。
该谜题还涉及一个重要的数字 $k$。在一次操作中,Radewoosh 可以从第一个序列中选择一个长度恰好为 $k$ 的循环区间,并从第二个序列中选择一个长度恰好为 $k$ 的循环区间,然后将它们交换。目标是使两个序列都变为单色,即第一个序列中的所有球颜色相同(全黑或全白),第二个序列中的所有球颜色也相同。
请帮助 Radewoosh 在最多 $n$ 次操作内解决这个谜题。可以证明这总是可能的。
输入格式
第一行包含两个整数 $n$ 和 $k$ ($2 \le n \le 300\,000; 1 \le k \le n - 1$),含义如题所述。
下一行包含一个长度恰好为 $n$ 的字符串 $a$。如果第 $i$ 个字符是 ‘B’,则第一个序列中的第 $i$ 个球是白色(波兰语中“白色”为“bialy”)。否则,如果字符是 ‘C’,则该球是黑色(波兰语中“黑色”为“czarny”)。
接下来一行包含一个长度恰好为 $n$ 的字符串 $b$,以类似的方式描述第二个球序列。
总的来说,字符串 $a$ 和 $b$ 中恰好包含 $n$ 个 ‘B’ 和 $n$ 个 ‘C’。
输出格式
第一行应包含一个整数 $r$ ($0 \le r \le n$),表示你想要进行的操作次数。
接下来输出 $r$ 行。每行包含两个整数。第 $i$ 行的数字 $c_i$ 和 $d_i$ ($1 \le c_i, d_i \le n$) 表示你选择了第一个序列中从位置 $c_i$ 开始的循环区间,以及第二个序列中从位置 $d_i$ 开始的循环区间。
如果 $c_i + k - 1 \le n$,则表示第一个序列中的位置 $c_i, c_i + 1, \dots, c_i + k - 2, c_i + k - 1$。如果 $c_i + k - 1 \ge n + 1$,则表示第一个序列中的位置 $c_i, c_i + 1, \dots, n - 1, n, 1, 2, \dots, c_i + k - 2 - n, c_i + k - 1 - n$。$d_i$ 的含义类似。
在执行完你描述的所有操作后,第一个序列中的所有球应具有相同的颜色,第二个序列中的所有球也应具有相同的颜色。注意,你不必最小化操作次数——只需在最多 $n$ 次操作内完成即可。
样例
输入格式 1
6 3 BCCBCC BBCBBC
输出格式 1
2 1 3 5 1
说明
球的序列初始状态如下(第一个序列画在上方,第二个在下方):
第一次操作选择这两个区间:
然后交换它们:
第二次操作选择这两个区间:
然后交换它们:
注意,将所有黑球移到第一个序列,将所有白球移到第二个序列也是正确的解法。