G. 中国分数
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

给定两个正整数 $$$n$$$ 和 $$$k$$$。你的目标是找到一个长度为 $$$n$$$ 的正整数序列 $$$[a_1, a_2, \ldots, a_n]$$$,满足:

  1. $$$a$$$ 中的元素严格递增,即对任意 $$$i,j\in \{ 1,\dots,n \}$$$,若 $$$i \lt j$$$,则有 $$$a_i \lt a_j$$$ 成立;
  2. $$$a$$$ 中所有元素都介于 $$$1$$$ 到 $$$n^2 \cdot k$$$ 之间,即对任意 $$$i \in \{ 1,\dots,n \}$$$,有 $$$ 1 \leq a_i \leq n^2 \cdot k $$$ 成立;
  3. $$$a$$$ 中所有元素的倒数之和等于 $$$k$$$ 的倒数,即 $$$\sum\limits_{1 \leq i \leq n} \frac{1}{a_i} = \frac{1}{k} $$$;

请你判断是否存在满足要求的正整数序列。如果存在,输出任意一个满足要求的正整数序列。

Input

本题的输入包含多组测试用例。

第一行一个整数 $$$T$$$($$$1 \leq T \leq 10^6$$$),表示测试用例的数量。对于每组测试用例:

  • 仅一行,包含两个正整数 $$$n$$$ 和 $$$k$$$($$$ 1\leq n, k\leq 10^6 $$$)。

保证所有测试用例的 $$$n$$$ 的总和不超过 $$$10^6$$$,$$$k$$$ 的总和也不超过 $$$10^6$$$。

Output

对于每组测试用例:

  • 如果不存在满足要求的序列,输出 $$$\mathtt{NO}$$$。
  • 否则,首先输出一行,包含一个 $$$\mathtt{YES}$$$;接下来输出一行,包含 $$$ n $$$ 个正整数 $$$a_1, a_2,\ldots,a_n$$$,用空格分隔,表示你的答案。

如果存在多个满足要求的答案,你可以输出其中任意一个。

Example
Input
7
1 1
2 1
3 4
2 5
5 1
6 4
2 114514
Output
YES
1
NO
YES
6 20 30
NO
YES
3 4 5 6 20
YES
5 70 80 120 126 144
YES
171771 343542