Замовлення від землевпорядника
Limits: 2 sec., 256 MiB
Якщо ви читаєте HTML-версію умови цієї задачі, перемкніться, будь ласка, на PDF. Єдиною різницею між цими версіями є розташування зображень на сторінці — в HTML-версії вони відображаються неправильно.
До компанії Зеника й Марічки PLVIV звернувся із замовленням землевпорядник.
На плані місцевості є дві різні прямі a та b і точка C, що не лежить на жодній із цих прямих. Землевпоряднику потрібно поставити паркан, що задовольняє такі умови.
Паркан на плані місцевості — це відрізок AB.
Точка A повинна лежати на прямій a.
Точка B повинна лежати на прямій b.
Точка C повинна бути серединою відрізка AB.
У цій задачі можливі три випадки: розв’язків не існує, існує єдиний розв’язок або існує безліч розв’язків.
Напишіть для землевпорядника програму, яка розрізняє ці три випадки. Якщо розв’язок єдиний, то програма повинна знайти точки A і B — кінці паркана.
Input
У першому рядку задано чотири цілі числа x1, y1, x2, y2. Пряма a проходить через точки (x1,y1), (x2,y2). Гарантується, що (x1,y1)≠(x2,y2).
У другому рядку задано пряму b в такому самому фоматі.
У третьому рядку задано два цілі числа xC, yC — координати точки C.
Output
Якщо не існує жодного розв’язку, виведіть
No solutions
.
Якщо розв’язків безліч, виведіть Infinite solutions
.
Якщо розв’язок єдиний, у першому рядку виведіть два дійсні числа xA, yA — координати точки A. У другому рядку виведіть координати точки B в такому самому форматі. У цьому випадку відповідь буде вважатися правильною, якщо виконуються всі такі умови.
Відстань від точки A до прямої a не перевищує 10−4.
Відстань від точки B до прямої b не перевищує 10−4.
|AC+CB−AB|≤10−4.
|AC−CB|≤10−4.
Constraints
Усі координати за модулем не перевищують 100.
Samples
Input (stdin) | Output (stdout) |
---|---|
0 0 4 4 0 0 7 -7 44 0 | 44.0000 44.0000 44.0000 -44.0000 |
Input (stdin) | Output (stdout) |
---|---|
-4 7 -7 4 7 4 4 7 7 7 | 3.0000000 14.0000000 11.0000000 0.0000000 |
Input (stdin) | Output (stdout) |
---|---|
0 0 2 0 0 2 2 2 1 1 | Infinite solutions |
Input (stdin) | Output (stdout) |
---|---|
-4 7 -7 4 7 -4 4 -7 4 7 | No solutions |