#N1005. Shelby's Bar

Shelby's Bar

Description

\hspace{15pt}谢尔比家族在伯明翰经营着一个酒馆,平时店里的事务是老大亚瑟·谢尔比在打理。你是一个服务生,刚好就在这家酒馆上班。酒杯正置用 "u\text{u}" 来表示,酒杯倒置用 "n\text{n}" 来表示。亚瑟习惯让你将酒杯正反交替放置,形如 "ununu\text{ununu……}" 。这天,亚瑟有事外出了,让老二汤米·谢尔比帮忙照看一下酒馆的生意。汤米看到酒柜中的酒杯顿时强迫症犯了,赶紧叫来你,让你把杯口朝他指定的方向放置。

\hspace{15pt}店中总共有 TT 个酒柜,每个酒柜中的酒杯全部都是正反交替放置的,但他们的数量不一定相等,汤米指定的方向也不一定相同。对于每个酒柜,你可以进行任意次操作,每次操作只能同时翻转相邻的两个\textbf{两个}酒杯 (翻转:若当前为 "u\text{u}",将其改为 "n\text{n}",若为 "n\text{n}" 改成 "u\text{u}" )。你需要告诉汤米你是否能将当前酒柜中的所有酒杯\textbf{当前酒柜中的所有酒杯}按照要求摆放,如果可以请用最少的次数完成。

\hspace{15pt}本题输入输出数据过大,请选择较快的输入输出方式。换行请使用 '\n'而不是"endl"。

\hspace{15pt}若使用python,语言环境请考虑使用运行更快的pypy3。

Format

Input

\hspace{15pt}第一行输入一个整数 T(1T105)T\,(1\leq T \leq 10^5),代表酒柜的数量。

\hspace{15pt}对于每组数据:

\hspace{15pt}第一行输入一个字符 ss 和一个整数 len(2len1018)\rm len \,(2 \leq \text{len} \leq 10^{18}),分别表示初始情况下第一个杯子的方向(正置用 "u\rm u" 来表示,倒置用 "n\rm n" 来表示)和杯子数量;

\hspace{15pt}第二行输入一个字符 aa 表示汤米指定的方向(正置用 "u\rm u" 来表示,倒置用 "n\rm n" 来表示)。

Output

\hspace{15pt}对于每组数据,如果可以完成,输出 "YES\rm YES",并在第二行输出最少的操作数;

\hspace{15pt}否则,仅输出 "NO\rm NO"。(均不含引号)

Samples

3
u 5
u
n 6
n
u 3
u
YES
2
NO
NO

Note

\hspace{15pt}对于第一组数据,初始时为 "ununu\rm ununu",先对第2个和第3个酒杯进行操作,变为"uunnu\rm uunnu";再对第3个和第4个酒杯进行操作,变为"uuuuu\rm uuuuu",所以可以完成并且最少只需要2次操作。

\hspace{15pt}对于第二组,初始时为 "nununu\rm nununu",无论操作多少次都无法完成。