Задача №114709. Прямоугольная ломаная

На координатной плоскости была нарисована замкнутая ломаная, состоящая из вертикальных и горизонтальных отрезков (параллельных осям координат). Горизонтальные и вертикальные отрезки этой ломаной чередовались (за горизонтальным отрезком шёл вертикальный, и наоборот). В этой ломаной не было пересечений отрезков по внутренним точкам, то есть если какие-то два отрезка пересекались, то точка их пересечения являлась одним из концом каждого из них (обратите внимание на примеры в пояснении к условию).

К сожалению, ломаную стёрли, а про неё осталось совсем немного информации: известны лишь длины всех вертикальных и всех горизонтальных отрезков. Вам требуется восстановить любую ломаную, удовлетворяющую условию, или определить, что такой ломаной не существует.

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

Вам нужно получить ответ для \(t\) наборов входных данных.

В первой строке задано целое число \(t\) (\(1 \leq t \leq 200\)) — количество наборов входных данных. Затем следуют \(t\) наборов входных данных.

В первой строке описания набора входных данных содержится целое число \(h\) (\(1 \leq h \leq 1000\)) — количество горизонтальных отрезков.

Во второй строке содержатся \(h\) целых чисел (\(1 \leq l_i \leq 1000\)) — длины горизонтальных отрезков ломаной, в произвольном порядке.

В третьей строке содержится целое число \(v\) (\(1 \leq v \leq 1000\)) — количество вертикальных отрезков.

В четвёртой строке содержатся \(v\) целых чисел (\(1 \leq p_i \leq 1000\)) — длины вертикальных отрезков ломаной, в произвольном порядке.

Все тестовые наборы входных данных разделяются пустой строкой.

Сумма \(h + v\) по всем наборам тестовых данных не превосходит \(1000\).

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

Для каждого набора входных данных выведите слово «Yes» (без кавычек), если требуемая ломаная существует, «No» в противном случае. Если ломаная существует, в следующих \(n\) строках выведите последовательно вершины этой ломаной. В \(i\)-й строке выведите два целых числа \(x_i\), \(y_i\) — координаты \(i\)-й вершины. Обратите внимание, что все отрезки этой ломаной должны быть параллельны осям координат, при этом после горизонтального отрезка должен идти вертикальный, и наоборот. Все координаты не должны превосходить \(10^9\) по абсолютной величине.

Примечание

В первом примере первого теста ответ «Yes» — в качестве примера можно привести квадрат:

В первом примере второго теста искомая ломаная существует. Обратите внимание, что ломаная пересекается по вершинам-концам отрезков:

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

Обратите внимание, что пример ниже не будет корректным для этого набора входных данных, так как содержит самопересечения:

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

2
1 2
2
3 3
Выходные данные
Yes
1 0
1 1
0 1
0 0
No
Входные данные
2
4
1 1 1 1
4
1 1 1 1

3
2 1 1
3
2 1 1
Выходные данные
Yes
1 0
1 1
2 1
2 2
1 2
1 1
0 1
0 0
Yes
0 -2
2 -2
2 -1
1 -1
1 0
0 0
Входные данные
2
4
1 4 1 2
4
3 4 5 12

4
1 2 3 6
2
1 3
Выходные данные
Yes
2 0
2 3
3 3
3 7
4 7
4 12
0 12
0 0
No
Сдать: для сдачи задач необходимо войти в систему