In this version, you need to implement part of the checker for the constructive version.
In this version, you are ogiyo.
kijjot gives you two integers $$$a$$$ and $$$b$$$ such that $$$a \le b$$$. In one operation, you can choose a positive integer $$$x$$$ such that $$$\gcd(a, x) = 1$$$$$$^{\text{∗}}$$$, and then increase $$$a$$$ by $$$x$$$.
Your task is to find any sequence of operations of the minimum possible length to transform $$$a$$$ into $$$b$$$. It can be shown that under the given constraints, it is always possible to transform $$$a$$$ into $$$b$$$ using at most $$$15$$$ operations.
$$$^{\text{∗}}$$$$$$\gcd(x, y)$$$ denotes the greatest common divisor (GCD) of integers $$$x$$$ and $$$y$$$.
Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \le t \le 10^4$$$). The description of the test cases follows.
Each test case contains two integers $$$a$$$ and $$$b$$$ ($$$2 \le a \le 10^5$$$, $$$a \le b \le 10^9$$$) — the numbers given to you by kijjot.
For each test case, output the minimum number of operations $$$k$$$ ($$$0 \le k \le 15$$$) in the first line.
In the second line, output $$$k$$$ positive integers $$$x_1, x_2, \ldots, x_k$$$ — the values of $$$x$$$ chosen in the operations, in order. These operations must be valid and transform $$$a$$$ into $$$b$$$.
If $$$k = 0$$$, you may omit the second line. If there are multiple optimal sequences, output any of them.
4 2 2 15 25 2184 2200 100000 1000000000
0 2 1 9 3 11 2 3 2 1636673 998263327
In the first test case, $$$a = b = 2$$$, so no operations are needed.
In the second test case, we can first add $$$1$$$ to obtain $$$16$$$, and then add $$$9$$$ to obtain $$$25$$$. Both operations are valid because $$$\gcd(15, 1) = 1$$$ and $$$\gcd(16, 9) = 1$$$. It can be shown that fewer than $$$2$$$ operations are not enough.