AT_arc200_d [ARC200D] |A + A|
题目描述
给定正整数 $M,K$。
请判断是否存在满足以下所有条件的正整数 $N$ 和整数序列 $A=(A_1,A_2,\ldots,A_N)$,如果存在,请给出其中一组解。
- $1\le N\le M$。
- $0\le A_i < M$($1\le i\le N$)。
- 存在恰好 $K$ 个整数 $0\le k < M$,对于每个这样的 $k$,存在一组下标对 $(i,j)$,使得 $k\equiv A_i+A_j\pmod M$。
给定 $T$ 组测试用例,请分别输出每组的答案。
输入格式
输入按以下格式从标准输入读入。
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
每组测试用例格式如下:
> $M\ K$
输出格式
请按顺序用换行分隔输出每组测试用例的答案。
对于每组测试用例,如果不存在满足条件的 $N,A$,输出 `No`。
否则,输出满足条件的 $N$ 和 $A$,格式如下:
> Yes $N$ $A_1$ $A_2$ $\ldots$ $A_N$
如果存在多组满足条件的 $N$ 和 $A$,输出任意一组均可。
说明/提示
### 数据范围
- $1\le T\le 2\times 10^5$
- $1\le K\le M\le 2\times 10^5$
- 所有测试用例中 $M$ 的总和不超过 $2\times 10^5$
- 输入的所有值均为整数
### 样例解释 1
对于第 $1$ 个测试用例,若取 $A=(3,1,4)$,则:
- $k=0$:取 $(i,j)=(1,1)$,有 $0\equiv 3+3\pmod 6$。
- $k=1$:取 $(i,j)=(1,3)$,有 $1\equiv 3+4\pmod 6$。
- $k=2$:取 $(i,j)=(3,3)$,有 $2\equiv 4+4\pmod 6$。
- $k=3$:不存在满足条件的下标对 $(i,j)$。
- $k=4$:取 $(i,j)=(1,2)$,有 $4\equiv 3+1\pmod 6$。
- $k=5$:取 $(i,j)=(2,3)$,有 $5\equiv 1+4\pmod 6$。
因此,满足条件的 $0\le k