양의 정수 $N$과 음이 아닌 정수 $X$가 주어집니다.
다음 조건을 모두 만족하는 길이 $2N$인 수열 $A = (A_1, A_2, \dots, A_{2N})$이 존재하는지 판별하세요.
- $1$부터 $N$까지의 각 정수는 $A$에 정확히 두 번씩 등장합니다.
- 수열 $(1, 2, \dots, N)$이 $A$의 부분수열로 정확히 $X$번 등장합니다. 즉, $A_{i_j} = j$ $(1 \le j \le N)$을 만족하도록 인덱스 $1 \le i_1 < i_2 < \dots < i_N \le 2N$을 선택하는 방법의 수가 정확히 $X$가지입니다.
그러한 수열이 존재하면 하나를 출력하세요. 조건을 만족하는 수열이 여러 개라면 그중 아무것이나 출력해도 됩니다.
입력
입력은 다음과 같은 형식의 여러 테스트 케이스로 구성됩니다.
$$ \begin{aligned} &T \\ &\mathrm{case}_1 \\ &\mathrm{case}_2 \\ &\vdots \\ &\mathrm{case}_T \end{aligned} $$
각 테스트 케이스는 다음과 같은 형식으로 주어집니다.
$$ N \ X $$
첫째 줄에 테스트 케이스의 개수를 나타내는 정수 $T$ $(1 \le T \le 2 \times 10^5)$가 주어집니다.
각 테스트 케이스마다 양의 정수 $N$ $(1 \le N \le 2 \times 10^5)$과 음이 아닌 정수 $X$ $(0 \le X \le 10^{18})$가 주어집니다.
모든 테스트 케이스에서 $N$의 합은 $2 \times 10^5$을 넘지 않습니다.
출력
각 테스트 케이스마다 조건을 만족하는 수열이 존재하지 않으면 한 줄에 No를 출력합니다.
존재한다면 첫째 줄에 Yes를 출력하고, 둘째 줄에 조건을 만족하는 수열을 나타내는 $2N$개의 정수 $A_1, A_2, \dots, A_{2N}$을 출력합니다.
올바른 수열이 여러 개라면 그중 어느 것을 출력해도 됩니다.
예제
입력 1
3 2 3 50 1000000000000000000 4 0
출력 1
Yes 1 2 1 2 No Yes 4 4 3 3 2 2 1 1