Олимпиадный тренинг

Задача . E. Игра года


Монокарп и Поликарп играют в компьютерную игру. В этой игре есть \(n\) боссов, пронумерованных от \(1\) до \(n\).

Они будут сражаться с каждым боссом по следующему алгоритму:

  • Монокарп делает \(k\) попыток убить босса;
  • Поликарп делает \(k\) попыток убить босса;
  • Монокарп делает \(k\) попыток убить босса;
  • Поликарп делает \(k\) попыток убить босса;
  • ...

Монокарп убивает \(i\)-го босса со своей \(a_i\)-й попытки. Поликарп убивает \(i\)-го босса со своей \(b_i\)-й попытки. Когда один из них убивает \(i\)-го босса, они переходят к \((i+1)\)-му боссу. Счетчики количества попыток сбрасываются для них обоих. Когда один из них убивает \(n\)-го босса, игра заканчивается.

Найдите все такие значения \(k\) от \(1\) до \(n\), что Монокарп убивает всех боссов.

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

В первой строке записано одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных.

В первой строке каждого набора входных данных записано одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — количество боссов.

Во второй строке записаны \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le n\)) — номер попытки, на которой Монокарп убивает каждого босса.

В третьей строке записаны \(n\) целых чисел \(b_1, b_2, \dots, b_n\) (\(1 \le b_i \le n\)) — номер попытки, на которой Поликарп убивает каждого босса.

Сумма \(n\) по всем наборам входных данных не превосходит \(2 \cdot 10^5\).

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

На каждый набор входных данных выведите две строки. В первой строке должно быть записано одно целое число \(\mathit{cnt}\) — количество таких значений \(k\) от \(1\) до \(n\), что Монокарп убьет всех боссов в первой строке. Во второй строке выведите \(\mathit{cnt}\) различных целых чисел — сами значения \(k\).

Примечание

Рассмотрим последний набор входных данных примера.

Пусть \(k = 1\). Сначала Монокарп делает одну попытку убить первого босса. Она успешная, так как \(a_1 = 1\). Затем Монокарп делает одну попытку убить второго босса. Она неуспешная, так как \(a_2 > 1\). Тогда Поликарп делает попытку. Она также неуспешная, так как \(b_2 > 1\). Затем Монокарп делает еще попытку. Она все еще неуспешная, так как \(a_2 > 2\). Это продолжается до тех пор, пока Поликарп наконец не убьет босса со своей третьей попытки. Монокарп не убил этого босса, поэтому \(k = 1\) — это не ответ.

Пусть \(k = 2\). Монокарп все еще убивает первого босса с первой попытки. Затем делает две неуспешные попытки на второго босса. Затем Поликарп делает две неуспешные попытки. Затем Монокарп делает еще две попытки и убивает босса со своей четвертой попытки. Третий босс похож на второго. Сначала две неуспешные попытки от Монокарпа. Затем две неуспешные попытки от Поликарпа. Затем у Монокарпа есть еще две попытки, но уже его первая успешная, так как \(a_3 = 3\). Четвертый босс также убит Монокарпом. Поэтому \(k = 2\) — это ответ.


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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя