У короля Людовика двоє синів. Вони ненавидять один одного, і король побоюється, що після його смерті країна буде знищена страшними війнами. Тому Людовик вирішив розділити свою країну на дві частини, у кожній з яких буде володарювати один з його синів. Він посадив їх на трон у міста A та B, і хоче побудувати мінімально можливу кількість фрагментів стіни таким чином, щоб не існувало шляху з міста A і місто B.
Країну, у якій володарює Людовик, можна спрощено уявити у вигляді прямокутника m×n. У деяких клітинках цього прямокутника розміщені гори, по іншим же можна вільно переміщуватись. Крім того, ландшафт у деяких клітинках зручний для будівництва стіни, у інших же будівництво неможливо.
При поїздках по країні можна переміщуватись із клітинки у сусідню по стороні, лише якщо жодна з цих клітинок не містить гори або збудованого фрагмента стіни.
У першому рядку вхідного файлу містяться числа m і n (1 ≤ m, n ≤ 50). У другому рядку задано числа k і l, де 0 ≤ k, l, k + l ≤ m·n-2, k – кількість клітинок, на яких розміщено гори, а l – кількість клітинок, на яких можна будувати стеіу. Звичайно, що у горах будувати стіну неможна. Наступні k рядків містять координати клітинок з горами x_i і y_i, а за ними йде l рядків, які містять координати клітинок, на яких можна побудувати стіну – x_j и y_j. Останні два рядки містять координати міст A (x_A і y_A) та B (x_B і y_B) відповідно. Серед клітинок, описаних у цих k+l+2 рядках, немає двох співпадаючих. Гарантується, що 1 ≤ x_i, x_j, x_A, x_B_{ }≤ m і 1 ≤ y_i, y_j, y_A, y_B_{ }≤ n.
У першому рядку вихідного файлу повинно бути виведена мінімальна кількість фрагментів стіни F, які необхідно побудувати. У наступних F рядках необхідно вивести один з можливих варіантів забудови.
Якщо неможлив здійснити потрібну забудову, то необхідно вивести у вихідний файл єдине число -1.