Розрізана рамка
Складна
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 64 мегабайти
Прямокутну рамку було розрізано на N кусків. Кожен кусок може бути або відрізком прямої, або "кутиком" — два відрізка, з'єднаних під прямим кутом.
За даними довжинами відрізків потрібно відновити вихідну рамку або визначити, що це неможливо. Куски можна повертати, але не можна відображати. Потрібно використати всі куски.
Вхідні дані
Вхідний файл містить число кусків N, за якими йде N пар цілих чисел a_i b_i, що описують довжину двох відрізків "кутика" i-го куска. Якщо кусок є відрізком, то a_i = 0 або b_i = 0.
Вихідні дані
Вихідний файл повинен містити два додатніх цілих числа W H — ширину і висоту рамки, при цьому W ≥ H. Якщо розв'язку не існує, потрібно вивести число −1. Якщо розв'язків декілька, необхідно вивести розв'язок з максимальним значенням W.
Приклади
Вхідні дані #1
Відповідь #1
Відправки 81
Коефіцієнт прийняття 6%