F. Проклятье
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
1024 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Вам даны два массива из целых чисел: $$$a_1, a_2, \ldots, a_n$$$ и $$$b_1, b_2, \ldots, b_m$$$

Вам нужно определить, возможно ли превратить массив $$$a$$$ в массив $$$b$$$, используя следующую операцию некоторое количество раз.

  • Cреди всех непустых подмассивов$$$^{\text{∗}}$$$ $$$a$$$ выбрать любой с максимальной суммой и заменить этот подмассив на произвольный непустой массив целых чисел.

Если это возможно, вам нужно построить любую возможную последовательность операций. Ограничение: в вашем ответе сумма длин массивов, на которые идёт замена, не должна превышать $$$n + m$$$ по всем операциям. А используемые числа по модулю не должны превышать $$$10^9$$$.

$$$^{\text{∗}}$$$Массив $$$a$$$ является подмассивом массива $$$b$$$, если $$$a$$$ может быть получен из $$$b$$$ удалением нескольких (возможно, ни одного или всех) элементов с начала и нескольких (возможно, ни одного или всех) элементов с конца.

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

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

Первая строка каждого набора входных данных содержит два целых числа $$$n, m$$$ ($$$1 \le n, m \le 500$$$) — длины массива $$$a$$$ и $$$b$$$.

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$-10^6 \le a_i \le 10^6$$$) — элементы массива $$$a$$$.

Третья строка каждого набора входных данных содержит $$$m$$$ целых чисел $$$b_1, b_2, \ldots, b_m$$$ ($$$-10^6 \le b_i \le 10^6$$$) — элементы массива $$$b$$$.

Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$500$$$.

Гарантируется, что сумма значений $$$m$$$ по всем наборам входных данных не превосходит $$$500$$$.

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

Для каждого набора входных данных выведите $$$-1$$$, если невозможно преобразовать массив $$$a$$$ в массив $$$b$$$.

Иначе в первой строке выведите число операций $$$0 \leq q \leq n + m$$$. Далее выведите операции в следующем формате в порядке выполнения:

В первой строке выведите три числа $$$l, r, k$$$ ($$$1 \leq l \leq r \leq |a|$$$). А во второй строке $$$k$$$ целых чисел $$$c_1 \ldots c_k$$$. что означает замену отрезка $$$a_l, \ldots, a_r$$$ на массив $$$c_1, \ldots, c_k$$$.

Сумма $$$k$$$ по всем $$$q$$$ операциям не должна превышать $$$n + m$$$. Также должно быть выполнено $$$-10^9 \leq c_i \leq 10^9$$$.

Вам не нужно минимизировать число операций.

Пример
Входные данные
3
4 3
2 -3 2 0
-3 -7 0
2 1
-2 -2
2
5 4
-5 9 -3 5 -9
-6 6 -1 -9
Выходные данные
4
3 4 1
-3 

1 1 1
-3 

2 2 1
-7 

3 3 1
0
 
-1

3
2 4 1
-5 

1 1 1
-6 

2 2 2
6 -1 
Примечание

В первом тесте изначальный массив изменяется следующим образом.

$$$$$$ [2, -3, 2, 0] \to [2, -3, -3] \to [-3, -3, -3] \to [-3, -7, -3] \to [-3, -7, 0] $$$$$$

Вы можете выводить или не выводить пустые строки. В примере пустые строки добавлены для удобства.