Разділення многокутників
На площині задано дві фігури, що обмежені опуклими многокутниками. Фігури розташовані таким чином, що їх вершини не співпадають, а контури мають рівно 2 точки перетину.
Довільним чином розділимо площину прямою. Будемо вважати, що півплощина з одного боку прямої відповідає першій фігурі, а з іншого боку – другій фігурі. Визначимо поняття дефекту розділення – сума площі першої фігури, що розташована на півплощині другої фігури, та площі другої фігури, що розташована на півплощині першої фігури. З двох можливих відповідностей півплощин до фігур оберемо таку відповідність, де значення дефекту менше.
Наприклад, на рисунку зображена пряма, що задає певне розділення многокутників. Оцінка дефекту цього розділення (два випадки відповідності): (D) + (C + E) та (A + D) + (B + C). З рисунку, D + C + E менше, отже, загалом, оцінка розбиття дефекту розділення утвореного цією прямою є D + C + E.
Напишіть програму, яка за заданими двома многокутниками знаходить пряму, яка утворює розділення з найменшим дефектом.
Вхідні дані
Перший рядок містить одне ціле число N (3 ≤ N ≤ 20) - кількість вершин першого многокутника. Наступні N рядків містять пари цілих чисел – координати вершин першого многокутника у порядку обходу. (N + 2) -ий рядок файлу містить число M (3 ≤ M ≤ 20) - кількість вершин другого многокутника. Наступні M рядків містять його координати задані таким же чином, як і для першого многокутника. Координати точок додатні і не перевищують 1000.
Вихідні дані
Вивести в одному рядку дві пари чисел - координати двох точок, які однозначно задають розділення (пряму) з найменшим дефектом. Числа потрібно виводити у порядку: x_1 y_1 x_2 y_2. Координати потрібно виводити з точністю 10^{-3}. Координати точок повинні бути додатними і не перевищувати 1000.