E. Garbage Disposal
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

There are $$$10^9$$$ types of garbage and $$$10^9$$$ types of garbage bins in your country. You are only allowed to dispose garbage of type $$$x$$$ into a garbage bin of type $$$y$$$ if $$$\gcd(x, y)=1$$$, where $$$\gcd(x, y)$$$ denotes the greatest common divisor (GCD) of integers $$$x$$$ and $$$y$$$.

In your neighborhood, only garbage of type $$$L \leq x \leq R$$$ ever occurs, and there are only garbage bins of types $$$L \leq y \leq R$$$ available. To avoid overflowing the bins, you want to throw each piece into distinct bin. Given $$$L$$$ and $$$R$$$, find a valid distribution or report that it does not exist.

Input

Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \le t \le 10^5$$$). Description of the test cases follows.

The first line of each test case contains two integers $$$L$$$ and $$$R$$$ ($$$1 \leq L \leq R \leq 10^9$$$).

It is guaranteed that the sum of $$$R-L+1$$$ over all test cases does not exceed $$$10^5$$$.

Output

For each test case, if there is no valid distribution print $$$-1$$$.

Otherwise, output $$$R - L + 1$$$ distinct integers $$$y_L, y_{L+1}, \dots, y_R$$$ ($$$L \leq y_i \leq R$$$), such that $$$\gcd(y_i, i) = 1$$$ for every $$$i$$$ from $$$L$$$ to $$$R$$$.

If there are multiple solutions, print any.

Example
Input
3
1 5
10 13
100 100
Output
2 1 4 5 3
11 10 13 12
-1
Note

In the first test case, $$$\gcd(1, 1) = \gcd(2, 3) = \gcd(3, 4) = \gcd(4, 5) = \gcd(5, 2) = 1$$$.

In the second test case, $$$\gcd(10, 13) = \gcd(11, 10) = \gcd(12, 11) = \gcd(13, 12) = 1$$$.

In the third test case, the only possible assignment is $$$y_{100} = 100$$$, but $$$\gcd(100, 100) = 100 \neq 1$$$.