Аксіома Хузіти 6
Перший формальний список аксіом для орігамі був опублікований Хуміакі Хузіта та Бенедетто Скімемі і став відомий як аксіоми Хузіта. Ці аксіоми описують способи, якими може бути згенеровано лінію згину шляхом вирівнювання точок і ліній. Нижче наведено версію шести аксіом.
Для точок p_1 та p_2 існує унікальний згин, що проходить через обидві.
Для точок p_1 та p_2 існує унікальний згин, що розміщує p_1 на p_2.
Для ліній l_1 та l_2 існує згин, що розміщує l_1 на l_2.
Для точки p_1 та лінії l_1 існує унікальний згин, перпендикулярний до l_1, що проходить через точку p_1.
Для точок p_1 та p_2 і лінії l_1 існує згин, що розміщує p_1 на l_1 і проходить через p_2.
Для точок p_1 та p_2 і ліній l_1 та l_2 існує згин, що розміщує p_1 на l_1 і p_2 на l_2.
Роман добре програмує, але він новачок у конструюванні орігамі, тому вирішив написати програму, щоб розрахувати необхідні згини для нього. Він вже закінчив програмування випадків для перших п'яти аксіом, але тепер застряг на складнішому випадку, аксіомі номер 6. Тому він вирішив найняти команду хороших програмістів — вашу команду — щоб реалізувати цей випадок для його програми.
Вхідні дані
Вхідні дані складаються з одного або більше тестових випадків. Загальна кількість тестових випадків t вказана в першому рядку вхідного файлу. Вона не перевищує 20000.
Кожен тестовий випадок складається рівно з чотирьох рядків, що описують l_1, p_1, l_2 та p_2, у такому порядку. Кожен рядок описується чотирма цілими числами — координатами двох різних точок, що лежать на ньому: x_1, y_1, x_2, y_2. Кожна точка описується лише двома цілими числами — її координатами x та y. Усі координати не перевищують 10 за абсолютними значеннями. Гарантується, що ні p_1 не лежить на l_1, ні p_2 не лежить на l_2. Лінії l_1 та l_2 різні, але точки p_1 та p_2 можуть бути однаковими.
Вихідні дані
Для кожного тестового випадку напишіть окремий рядок з описом прямої лінії, яку слід використовувати для згину. Використовуйте той самий формат, що й у вхідних даних — вкажіть координати двох точок на ній. Або координати x, або y цих двох точок повинні відрізнятися щонайменше на 10^{−4}. Координати не повинні перевищувати 10^9 за абсолютними значеннями. Програма перевірки перевірить, що як відстань між p_1 після згину і l_1, так і відстань між p_2 після згину і l_2 не перевищують 10^{−4}. Якщо є кілька рішень, будь-яке з них підійде. Якщо рішень немає, виведіть рядок з чотирма нулями, розділеними пробілами.