Little Cyan Fish 正在为第二届 Universal Cup 总决赛的乒乓球之夜准备赛程。“啊哈,是时候举办一场 Universal Cup 乒乓球锦标赛了!”
Little Cyan Fish 想要制定一条规则,在多局比赛后决定胜者。每场乒乓球比赛由两名选手 A 和 B 进行。每局比赛总会决出胜者——因此乒乓球比赛中没有平局。每局的胜者得一分,另一名选手不得分。当以下两个条件同时满足时,两位选手之间的锦标赛立即结束:
- 至少有一名选手得分达到 $m$ 分;
- 其中一名选手领先至少两分。
Little Cyan Fish 有一种魔法,可以准确预测所有比赛的结果。他提供了一个长度为 $n$ 的字符串 $s_1s_2 \dots s_n$,其中每个字符要么是 ‘A’,要么是 ‘B’。这里,‘A’ 代表选手 A,‘B’ 代表选手 B,表示比赛中的第 $i$ 分将由 $s_{((i-1) \pmod n)+1}$ 所代表的选手获得。
你需要计算在比赛结束前总共会进行多少分,或者指出比赛永远不会结束。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$ ($T \ge 1$),表示测试数据的组数。对于每组测试数据:
第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 2 \times 10^5, 1 \le m \le 10^{18}$)。
第二行包含一个长度为 $n$ 的字符串 $s_1s_2 \dots s_n$,仅包含 ‘A’ 和 ‘B’。
保证所有测试数据的 $n$ 之和不超过 $2 \times 10^5$。
输出格式
对于每组测试数据:
如果锦标赛永远不会结束,输出一行,包含单词 “No”。
否则,第一行输出单词 “Yes”。
下一行输出一个整数,表示锦标赛结束前总共进行的得分数。
样例
输入 1
3 1 11 A 2 11 AB 3 11 ABB
输出 1
Yes 11 No Yes 17