For his birthday recently Fedya was given an array $a$ of $n$ integers arranged in a circle, For each pair of neighboring numbers ($a_1$ and $a_2$, $a_2$ and $a_3$, $\ldots$, $a_{n - 1}$ and $a_n$, $a_n$ and $a_1$) the absolute difference between them is equal to $1$.

Let's call a local maximum an element, which is greater than both of its neighboring elements. Also call a local minimum an element, which is less than both of its neighboring elements. Note, that elements $a_1$ and $a_n$ are neighboring elements.

Unfortunately, Fedya lost an array, but he remembered in it the sum of local maximums $x$ and the sum of local minimums $y$.

Given $x$ and $y$, help Fedya find any matching array of minimum length.


-----Input-----

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

Each line of each test case contain two integers $x$ and $y$ ($-10^{9} \le y < x \le 10^{9}$) — the sum of local maximums and the sum of local minimums, respectively.


-----Output-----

For each test case, in the first line print one integer $n$ — the minimum length of matching arrays.

In the second line print $n$ integers $a_1, a_2, \ldots, a_n$ ($-10^{9} \leqslant a_i \leqslant 10^{9}$) — the array elements such that the the absolute difference between each pair of neighboring is equal to $1$.

If there are multiple solutions, print any of them.

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^{5}$.


-----Examples-----

Input
4
3 -2
4 -4
2 -1
5 -3
Output
10
0 1 2 1 0 -1 0 -1 0 1
16
-2 -1 -2 -1 0 1 2 3 4 5 4 3 2 1 0 -1 
6
1 0 -1 0 1 0
16
2 3 2 1 0 -1 0 -1 0 -1 0 1 2 1 0 1


-----Note-----

In the first test case, the local maximums are the numbers at $3, 7$ and $10$ positions, and the local minimums are the numbers at $1, 6$ and $8$ positions. $x = a_3 + a_7 + a_{10} = 2 + 0 + 1 = 3$, $y = a_1 + a_6 + a_8 = 0 + (-1) + (-1) = -2$.

In the second test case, the local maximums are the numbers at $2$ and $10$ positions, and the local minimums are the numbers at $1$ and $3$ positions. $x = a_2 + a_{10} = -1 + 5 = 4$, $y = a_1 + a_3 = -2 + (-2) = -4$.

In the third test case, the local maximums are the numbers at $1$ and $5$ positions, and the local minimums are the numbers at $3$ and $6$ positions.

Difficulty: EASY

Solutions:
import sys

def solve():
	inp = sys.stdin.readline
	(x, y) = map(int, inp().split())
	print((x - y) * 2)
	arr = list(range(y, x)) + list(range(x, y, -1))
	print(' '.join(map(str, arr)))

def main():
	for i in range(int(sys.stdin.readline())):
		solve()
main()


T = int(input())
for i in range(T):
	(x, y) = input().split()
	(x, y) = (int(x), int(y))
	ans = [i for i in range(y, x + 1)]
	ans.extend(ans[-2:0:-1])
	print(len(ans))
	print(' '.join(list(map(str, ans))))


t = int(input())
for _ in range(t):
	(x, y) = map(int, input().split())
	print(2 * (x - y))
	l = [str(i) for i in range(y, x + 1)]
	h = [str(i) for i in range(x - 1, y, -1)]
	print(' '.join(l + h))


def f(min, max):
	l = [i for i in range(min, max + 1, 1)]
	l1 = l[1:-1]
	l1.reverse()
	l = l + l1
	length = len(l)
	l = list(map(str, l))
	l = ' '.join(l)
	print(length)
	print(l)
for t in range(int(input())):
	inp1 = list(map(int, input().split(' ')))
	min = inp1[1]
	max = inp1[0]
	f(min, max)


n = int(input())
for i in range(n):
	(y, x) = map(int, input().split())
	w = list(range(x, y + 1))
	base = w + w[::-1][1:len(w) - 1]
	print(len(base))
	print(' '.join(map(str, base)))


def solve():
	numbers = [int(x) for x in input().split()]
	x = numbers[0]
	y = numbers[1]
	n = 0
	a = [str(x) for x in list(range(y, x + 1))]
	for i in range(x - 1, y, -1):
		a.append(str(i))
	print(len(a))
	print(' '.join(a))
t = int(input())
for i in range(t):
	solve()


t = int(input())
for _ in range(t):
	(x, y) = (int(a) for a in input().split())
	print(2 * (x - y))
	out = [i for i in range(y, x + 1)] + [i for i in range(x - 1, y, -1)]
	print(' '.join(map(str, out)))


for _ in range(int(input())):
	(n, m) = map(int, input().split())
	mylist = []
	for i in range(m, n + 1):
		mylist.append(i)
	for j in range(n - 1, m, -1):
		mylist.append(j)
	print(len(mylist))
	print(' '.join(map(str, mylist)))


import sys

def read(func=int):
	return func(sys.stdin.readline().strip())

def read_array(func=int):
	return list(map(func, read(str).split()))
t = read()
for _ in range(t):
	(x, y) = read_array()
	n = 2 * (x - y)
	A = [0] * n
	idx = 0
	for i in range(y, x + 1):
		A[idx] = i
		idx += 1
	for i in range(x - 1, y, -1):
		A[idx] = i
		idx += 1
	print(n)
	print(' '.join([str(ai) for ai in A]))


n = int(input())
for i in range(n):
	k = input()
	(u, v) = (int(k.split(' ')[0]), int(k.split(' ')[1]))
	arr = []
	for j in range(v, u):
		arr += [str(j)]
	for j in range(u, v, -1):
		arr += [str(j)]
	print(len(arr))
	print(' '.join(arr))


import math
T = int(input(''))
for i in range(T):
	str1 = input()
	l1 = [int(c) for c in str1.split()]
	n = 2 + 2 * (l1[0] - l1[1] - 1)
	ans = [l1[1]]
	for j in range(l1[1] + 1, l1[0]):
		ans.append(j)
	ans.append(l1[0])
	for j in reversed(range(l1[1] + 1, l1[0])):
		ans.append(j)
	print(n)
	print(' '.join([str(c) for c in ans]))


t = int(input())
for nouse in range(t):
	(x, y) = map(int, input().split())
	m = []
	i = y
	m.append(i)
	while i != x:
		i += 1
		m.append(i)
	while i != y + 1:
		i -= 1
		m.append(i)
	print(len(m))
	print(' '.join(list(map(str, m))))


t = int(input())
for _ in range(t):
	(x, y) = map(int, input().split())
	print((x - y) * 2)
	print(*range(y, x), *range(x, y, -1))


kol = int(input())
for j in range(0, kol):
	(n, m) = map(int, input().split())
	min_ = min(n, m)
	max_ = max(n, m)
	l1 = list(range(min_, max_))
	l2 = list(range(max_, min_, -1))
	res = l1 + l2
	print(len(res))
	print(*res)


for _ in range(int(input())):
	(x, y) = map(int, input().split())
	a = list(range(y, x + 1))
	a += a[-2:0:-1]
	print(len(a))
	print(*a)


t = int(input())
for i in range(t):
	(a, b) = [int(v) for v in input().split()]
	p1 = [v for v in range(min(a, b), max(a, b))]
	p2 = [v for v in range(min(a, b) + 1, max(a, b) + 1)]
	p2.reverse()
	print(len(p1 + p2))
	print(*p1 + p2, sep=' ')


q = int(input())
for i in range(q):
	(a, b) = map(int, input().split())
	l1 = [v for v in range(min(a, b), max(a, b))]
	l2 = [v for v in range(min(a, b) + 1, max(a, b) + 1)]
	l2.reverse()
	print(len(l1 + l2))
	print(*l1 + l2, sep=' ')


for _ in range(int(input())):
	(x, y) = map(int, input().split())
	ans = tuple(range(y, x + 1)) + tuple(range(x - 1, y, -1))
	print(len(ans))
	print(*ans)


for _ in range(int(input())):
	(x, y) = [int(i) for i in input().split()]
	s = y
	l = 2 * (x - s)
	print(l)
	res = [i for i in range(s, s + l // 2)]
	res2 = [i for i in range(s + l // 2, s, -1)]
	res = res + res2
	print(*res)


for _ in range(int(input())):
	(mx, mn) = input().split()
	(mx, mn) = (int(mx), int(mn))
	r = []
	for i in range(mn, mx + 1):
		r.append(i)
	r += r[1:-1][::-1]
	print(len(r))
	print(*r)


for _ in range(int(input())):
	(n, q) = map(int, input().split())
	print((n - q) * 2)
	print(*[i for i in range(q, n + 1)], *[i for i in range(n - 1, q, -1)])


for testcase in range(int(input())):
	list = []
	(x, y) = map(int, input().split())
	for i in range(y, x):
		list.append(i)
	for i in range(x, y, -1):
		list.append(i)
	print(len(list))
	print(*list)


t = int(input())
ans = []
res = []
for _ in range(t):
	(x, y) = map(int, input().split())
	ans.append(abs(x - y) * 2)
	res.append([i for i in range(y, x)] + [j for j in range(x, y, -1)])
for i in range(t):
	print(ans[i])
	print(*res[i])


t = int(input())
for i in range(t):
	(x, y) = map(int, input().split())
	length = abs(x - y) * 2
	low = min(x, y)
	high = max(x, y)
	answer = [i for i in range(low, high + 1)]
	answer += [i for i in range(high - 1, low, -1)]
	print(length)
	print(*answer)


for t in range(int(input())):
	(x, y) = map(int, input().split())
	ans = []
	if x == y:
		ans.append(x)
	else:
		temp = list(range(y + 1, x))
		ans.append(y)
		ans += temp
		ans.append(x)
		temp.reverse()
		ans += temp
	print(len(ans))
	print(*ans)


t = int(input())
for i in range(t):
	(x, y) = [int(i) for i in input().split()]
	diff = x - y
	a = []
	for i in range(y, x + 1):
		a.append(i)
	for i in range(x - 1, y, -1):
		a.append(i)
	print(2 * diff)
	print(*a)