Sasha 厌倦了繁重的城市生活,决定搬到乡下。为了打发时间,他决定养羊。为此,他在村里买了一块矩形场地,可以表示为一个 $n \times m$ 的网格,行从上到下编号为 $1$ 到 $n$,列从左到右编号为 $1$ 到 $m$。
在场地上,Sasha 买了几只羊,每只羊被分配到一行。最初,第 $i$ 只羊位于坐标 $(i, a_i)$ 的单元格中(第 $i$ 行,第 $a_i$ 列)。Sasha 发现羊只按以下规则水平移动:
- 如果场地只有一列,羊不会移动。
- 最初,第 $i$ 只羊位于单元格 $(i, a_i)$,每只羊都有一个初始移动方向——向左或向右。没有羊位于第一列且向左移动,也没有羊位于最后一列且向右移动。
- 每过一秒,如果羊向左移动,它就向左移动一列;否则,它向右移动一列。
- 如果羊移动后到达第 $1$ 列且正在向左移动,或者到达最后一列且正在向右移动,它会改变方向。因此,羊永远不会离开场地边界。
这里有一个羊移动的例子,最初第一只羊在第 $1$ 列并向右移动,第二只羊在第 $3$ 列并向左移动。第一张图显示了开始时的状态,第二张图显示了 1 秒后的状态,第三张图显示了从移动开始 2 秒后的状态,第四张图显示了 3 秒后的状态。
Sasha 不喜欢羊如此混乱地移动;他希望所有羊都能统一移动。这意味着所有羊都应该在同一列,并且具有相同的移动方向。为了实现这一点,Sasha 可以通过以下方式对场地进行多次(可能为零)修剪:
- 他选择一个时间 $t$(自羊开始移动以来经过的秒数)和修剪后场地将保留的列数 $x$。
- 在时间 $t$,所有羊必须严格位于 $n \times x$ 的场地内。这意味着对于从 $1$ 到 $n$ 的任何 $i$,第 $i$ 只羊在时间 $t$ 必须位于单元格 $(i, y_i)$,其中 $1 \le y_i \le x$。否则,这种场地修剪是不允许的。
- 在此操作之后,从时间 $t$ 开始,场地上的列数减少到 $x$。
- 每只位于最后一列且向右移动的羊会改变其方向。
修剪过程的详细示例在说明部分描述。
Sasha 想知道是否可以通过多次修剪场地来实现所有羊统一移动。如果可能,Sasha 想知道场地中可以保留的最大列数是多少,以及他具体该如何实现。帮助 Sasha 解决这个问题!
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 3$),表示需要输出关于答案的什么信息。详细描述见“输出格式”。
第二行包含两个整数 $n$ 和 $m$ ($2 \le n \le 200,000, 2 \le m \le 10^9$),表示场地的行数和列数。
第三行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le m$),表示羊最初所在的列号。
第四行包含一个长度为 $n$ 的字符串 $s$,仅由字符 L 和 R 组成,其中第 $i$ 个字符如果是 L,表示第 $i$ 只羊最初向左移动;如果是 R,表示第 $i$ 只羊最初向右移动。保证没有位于第一列的羊向左移动,也没有位于第 $m$ 列的羊向右移动。
输出格式
在第一行,如果 Sasha 无法实现所有羊统一移动,输出 "No"(不带引号)。否则,输出 "Yes"(不带引号)。
如果 $T = 2$ 或 $T = 3$,则在第二行输出 Sasha 可以留在场地上的最大列数,以便所有羊统一移动。如果 $T = 1$,则不应输出此项。
如果 $T = 3$,在第三行输出数字 $q$ ($0 \le q \le 10^6$),表示 Sasha 需要修剪场地的次数。在接下来的 $q$ 行中,输出修剪的描述。
对于每次场地修剪的描述,在一行中输出两个整数 $t$ 和 $x$ ($0 \le t \le 10^{18}, 1 \le x < m$),其中 $t$ 是 Sasha 需要修剪场地的时间(从羊开始移动的最开始算起),$x$ 是此操作后场地将保留的列数。
操作必须按 $t$ 的非递减顺序输出。在每次后续修剪中,$x$ 必须小于前一次修剪的 $x$。
如果有多种合适的修剪序列,可以输出其中任何一种。
可以证明,在给定的约束条件下,如果存在解,则存在符合给定限制的解。
如果 $T = 1$ 或 $T = 2$,请勿输出修剪描述。
样例
输入格式 1
3 2 3 1 3 RL
输出格式 1
Yes 2 1 3 2
输入格式 2
3 2 3 1 2 RL
输出格式 2
No
输入格式 3
3 3 5 1 3 5 RRL
输出格式 3
Yes 3 2 1 4 2 3
输入格式 4
2 3 5 1 3 5 RRL
输出格式 4
Yes 3
输入格式 5
1 3 5 1 3 5 RRL
输出格式 5
Yes
输入格式 6
3 3 7 3 3 5 RRL
输出格式 6
Yes 4 3 0 6 0 5 1 4
说明
考虑第三个样例:
羊在零秒时的状态。
羊在 1 秒时的状态。
将场地修剪为 4 个单元格。
羊在 2 秒时的状态。