#XNS2026C9. wwwwmw的字符串(Hard Version)

wwwwmw的字符串(Hard Version)

wwwwmw 定义字符串 ss 的可爱度为最大的整数 kk,满足存在一个长度为 kk 的连续子串[1]^\texttt{[1]}aa、和一个长度为 kk 的不连续子序列[2]^\texttt{[2]}bb,满足 a=ba=b

现在,wwwwmw 给定你两个整数 n,mn,m,并且询问你是否存在长度为 nn、仅由小写字母构成的字符串 tt,使得 tt 的可爱度恰好等于 mm。如果存在,输出任意一个符合条件的字符串 tt

子串[1]^\texttt{[1]}为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。

仅在本题中,不连续子序列[2]^\texttt{[2]}定义为至少由两段不相邻的非空子串构成。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1T104)T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:

在一行上输入两个整数 $n,m \left(3 \leqq m \leqq n \leqq 2 \times 10^5\right)$ 代表限制。

除此之外,保证单个测试文件的 nn 之和不超过 2×1052 \times 10^5

输出描述

如果答案不存在,直接输出 NO\rm NO;否则,在第一行输出 YES\rm YES,在第二行输出一个仅由小写字母构成的字符串 ss,代表构造出的字符串。

样例

样例输入1

2
4 3
3 3

样例输出1

YES
abcc
NO