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

Задача . B. Многоугольники


Перед Вами очередная геометрическая задача. Вам заданы два невырожденных многоугольника A и B координатами своих вершин. Многоугольник A является строго выпуклым. Многоугольник B является произвольным многоугольником без самопересечений и самокасаний. Вершины обоих многоугольников заданы в порядке обхода по часовой стрелке. Для каждого многоугольника никакие три подряд идущие вершины не находятся на одной прямой.

В задаче от Вас требуется проверить, находится ли многоугольник B строго внутри многоугольника A. Это означает, что любая точка многоугольника B должна находиться строго внутри многоугольника A. «Строго» означает, что точка многоугольника B не может находиться на стороне многоугольника A.

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

В первой строке записано единственное целое число n (3 ≤ n ≤ 105) — количество вершин многоугольника A. Далее в n строках записаны пары целых чисел xi, yi (|xi|, |yi| ≤ 109) — координаты i-ой вершины многоугольника A. Вершины заданы в порядке обхода по часовой стрелке.

В следующей строке записано единственное целое число m (3 ≤ m ≤ 2·104) — количество вершин многоугольника B. Далее в m строках записаны пары целых чисел xj, yj (|xj|, |yj| ≤ 109) — координаты j-ой вершины многоугольника B. Вершины заданы в порядке обхода по часовой стрелке.

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

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

В единственной строке выведете ответ на задачу — если многоугольник B строго внутри многоугольника A, выведите «YES», в противном случае выведите «NO» (без кавычек).


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

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

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