Замовлення від землевпорядника
Limits: 2 sec., 256 MiB
Якщо ви читаєте HTML-версію умови цієї задачі, перемкніться, будь ласка, на PDF. Єдиною різницею між цими версіями є розташування зображень на сторінці — в HTML-версії вони відображаються неправильно.
До компанії Зеника й Марічки PLVIV звернувся із замовленням землевпорядник.
На плані місцевості є дві різні прямі \(a\) та \(b\) і точка \(C\), що не лежить на жодній із цих прямих. Землевпоряднику потрібно поставити паркан, що задовольняє такі умови.
Паркан на плані місцевості — це відрізок \(AB\).
Точка \(A\) повинна лежати на прямій \(a\).
Точка \(B\) повинна лежати на прямій \(b\).
Точка \(C\) повинна бути серединою відрізка \(AB\).
У цій задачі можливі три випадки: розв’язків не існує, існує єдиний розв’язок або існує безліч розв’язків.
Напишіть для землевпорядника програму, яка розрізняє ці три випадки. Якщо розв’язок єдиний, то програма повинна знайти точки \(A\) і \(B\) — кінці паркана.
Input
У першому рядку задано чотири цілі числа \(x_1\), \(y_1\), \(x_2\), \(y_2\). Пряма \(a\) проходить через точки \((x_1, y_1)\), \((x_2, y_2)\). Гарантується, що \((x_1, y_1) \ne (x_2, y_2)\).
У другому рядку задано пряму \(b\) в такому самому фоматі.
У третьому рядку задано два цілі числа \(x_C\), \(y_C\) — координати точки \(C\).
Output
Якщо не існує жодного розв’язку, виведіть
No solutions
.
Якщо розв’язків безліч, виведіть Infinite solutions
.
Якщо розв’язок єдиний, у першому рядку виведіть два дійсні числа \(x_A\), \(y_A\) — координати точки \(A\). У другому рядку виведіть координати точки \(B\) в такому самому форматі. У цьому випадку відповідь буде вважатися правильною, якщо виконуються всі такі умови.
Відстань від точки \(A\) до прямої \(a\) не перевищує \(10^{-4}\).
Відстань від точки \(B\) до прямої \(b\) не перевищує \(10^{-4}\).
\(|AC + CB - AB| \le 10^{-4}\).
\(|AC - CB| \le 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 |
Notes
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|