B. 共鸣护符
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
あたいったら最強ね!
——琪露诺

秋收祭临近,博丽神社决定举办一场"符札行进式". 为避免在巡游中出现灵力互相掣肘的事故,八云紫特地把所有用于镇场的护符按连续编号刻好了,从 LR.

雾雨魔理沙一边抱着一摞护符,一边嚷嚷着要把"最厉害的放在最前面".可灵梦白了她一眼:"乱来会炸庙的.护符之间要么会共鸣,要么会互斥.排错顺序可不是开玩笑."

在幻想乡的术式里,两个编号存在相同大于1的因子的护符会产生温和的共鸣,而没有任何共同大于1因子的护符则会产生尖锐的互斥.为了让巡游既壮观又安全,排列必须遵守两条古老的规矩:

  • 若两枚护符共鸣靠前的那一枚必须更弱(编号更小),以引导后面的力量稳步放大;
  • 若两枚护符互斥靠前的那一枚必须更强(编号更大),用气势把后面的杂音按住.
总之,需要把从 LR 的每一枚护符恰好一次排成一列,使得整队都符合规则.

更具体地说:

给定两个整数 LR,设 n = R - L + 1. 请构造一个长度为 n 的序列 ,使其为区间 [L, R] 上所有整数的一个排列(即 {v1, ..., vn} = {L, L + 1, ..., R},每个数均出现且恰好出现一次),并满足如下条件:

对任意下标 1 ≤ i < j ≤ n

  • gcd(vi, vj) ≠ 1,则必须有 vi < vj
  • gcd(vi, vj) = 1,则必须有 vi > vj.
等价地,上述要求可表述为: 对于任意 i < j,恒有

如果无法构造满足条件的序列,请输出NO;否则输出YES以及任意一个满足条件的序列.

该题为多组测试输入.

Input

一个整数 T(1 ≤ T ≤ 1 × 105),代表测试组数;

接下来 T 行,每行两个整数 L, R(1 ≤ L ≤ R ≤ 1 × 105).

数据保证 .

Output

对每组数据:

  • 若不存在满足条件的序列,输出一行NO
  • 若存在,输出一行YES,下一行输出 R - L + 1 个用空格隔开的整数 v1, v2...vn,表示构造出的序列.

若存在多种合法答案,输出任意一种均可.

Example
Input
1
1 2
Output
YES
2 1
Note

ab 的最大公约数.