A. Очарованные игрой
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Алиса и Борис играют в теннис.

Теннисный матч состоит из геймов. В каждом гейме один из игроков подаёт, другой — принимает.

Игроки подают по очереди: за геймом, в котором подаёт Алиса, всегда следует гейм, в котором подаёт Борис, и наоборот.

Каждый гейм заканчивается победой одного из игроков. Если гейм выигрывает подающий игрок, говорят, что этот игрок взял подачу. Если принимающий — говорят, что этот игрок сделал брейк.

Известно, что за матч Алиса выиграла $$$a$$$ геймов, а Борис выиграл $$$b$$$ геймов. Неизвестно, кто первый подавал и кто какие геймы выиграл.

Найдите все такие значения $$$k$$$, что за матч Алисы и Бориса могло быть сделано в сумме ровно $$$k$$$ брейков.

Входные данные

Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^3$$$) — количество наборов входных данных. Далее следуют наборы входных данных.

Каждая из следующих $$$t$$$ строк описывает один набор входных данных и содержит два целых числа $$$a$$$ и $$$b$$$ ($$$0 \le a, b \le 10^5$$$; $$$a + b > 0$$$) — число геймов, выигранных Алисой и Борисом, соответственно.

Гарантируется, что сумма значений $$$a + b$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите две строки.

В первой строке выведите целое число $$$m$$$ ($$$1 \le m \le a + b + 1$$$) — число различных значений $$$k$$$ таких, что за матч могло быть сделано ровно $$$k$$$ брейков.

Во второй строке выведите $$$m$$$ различных целых чисел $$$k_1, k_2, \ldots, k_m$$$ ($$$0 \le k_1 < k_2 < \ldots < k_m \le a + b$$$) — искомые значения $$$k$$$ в возрастающем порядке.

Пример
Входные данные
3
2 1
1 1
0 5
Выходные данные
4
0 1 2 3
2
0 2
2
2 3
Примечание

В первом наборе входных данных за матч могло быть сделано любое число брейков от $$$0$$$ до $$$3$$$:

  • Алиса берёт подачу, Борис берёт подачу, Алиса берёт подачу: $$$0$$$ брейков;
  • Борис берёт подачу, Алиса берёт подачу, Алиса делает брейк: $$$1$$$ брейк;
  • Борис делает брейк, Алиса делает брейк, Алиса берёт подачу: $$$2$$$ брейка;
  • Алиса делает брейк, Борис делает брейк, Алиса делает брейк: $$$3$$$ брейка.

Во втором наборе входных данных игроки могли либо каждый взять свою подачу ($$$0$$$ брейков), либо обменяться брейками ($$$2$$$ брейка).

В третьем наборе входных данных могло быть сделано либо $$$2$$$, либо $$$3$$$ брейка:

  • Борис берёт подачу, Борис делает брейк, Борис берёт подачу, Борис делает брейк, Борис берёт подачу: $$$2$$$ брейка;
  • Борис делает брейк, Борис берёт подачу, Борис делает брейк, Борис берёт подачу, Борис делает брейк: $$$3$$$ брейка.