Задача C. Небольшая подтасовка

Автор:Зимние сборы 2005   Ограничение времени:1 сек
Входной файл:small.in   Ограничение памяти:64 Мб
Выходной файл:small.out  

Условие

В Динарии у власти находится жестокая партия Либеративов. Но оппозиционные настроения усиливаются, поэтому Либеративы решили перераспределить округа для голосования таким образом, чтобы оппозиционно настроенные кварталы присутствовали в как можно меньшем числе округов. Так как честная партия Консервалов не может допустить такого печального конца демократии в Динарии, Вам поручено найти способ нарушить планы Либеративов.

По новому плану столица будет разделена прямоугольной сеткой, в качестве сторон которой будут выбраны главные улицы и авеню. Все улицы и авеню проходят через весь город, имеющий форму прямоугольника, параллельно его сторонам (улицы — вертикально, а авеню — горизонтально). Нумерация начинается с левого нижнего угла. Город ограничивают четыре дороги: 1-я улица (левая граница), 100-я улица (правая граница), 1-я авеню (нижняя граница), 100-я авеню (верхняя граница). Очевидно, что эти дороги должны ограничивать округа, однако, не все дороги по плану будут являться границами округов. Кроме того, для соблюдения видимости честности Либеративы будут определять только вертикальные границы округов, в этом и заключается Ваш шанс, т.к. они вынуждены позволить Консервалам определять горизонтальные.

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

Формат входного файла

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

Формат выходного файла

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

Ограничения

A ≥ 2,

Примеры тестов

Входной файл (small.in) Выходной файл (small.out)
1
2
49 49 
50 50
2 1 100
3
3 1 50 100

0.035s 0.008s 15