Замовлення від землевпорядника
Limits: 2 sec., 256 MiB
Якщо ви читаєте HTML-версію умови цієї задачі, перемкніться, будь ласка, на PDF. Єдиною різницею між цими версіями є розташування зображень на сторінці — в HTML-версії вони відображаються неправильно.
До компанії Зеника й Марічки PLVIV звернувся із замовленням землевпорядник.
На плані місцевості є дві різні прямі aa та bb і точка CC, що не лежить на жодній із цих прямих. Землевпоряднику потрібно поставити паркан, що задовольняє такі умови.
Паркан на плані місцевості — це відрізок ABAB.
Точка AA повинна лежати на прямій aa.
Точка BB повинна лежати на прямій bb.
Точка CC повинна бути серединою відрізка ABAB.
У цій задачі можливі три випадки: розв’язків не існує, існує єдиний розв’язок або існує безліч розв’язків.
Напишіть для землевпорядника програму, яка розрізняє ці три випадки. Якщо розв’язок єдиний, то програма повинна знайти точки AA і BB — кінці паркана.
Input
У першому рядку задано чотири цілі числа x1x1, y1y1, x2x2, y2y2. Пряма aa проходить через точки (x1,y1)(x1,y1), (x2,y2)(x2,y2). Гарантується, що (x1,y1)≠(x2,y2)(x1,y1)≠(x2,y2).
У другому рядку задано пряму bb в такому самому фоматі.
У третьому рядку задано два цілі числа xCxC, yCyC — координати точки CC.
Output
Якщо не існує жодного розв’язку, виведіть
No solutions
.
Якщо розв’язків безліч, виведіть Infinite solutions
.
Якщо розв’язок єдиний, у першому рядку виведіть два дійсні числа xAxA, yAyA — координати точки AA. У другому рядку виведіть координати точки BB в такому самому форматі. У цьому випадку відповідь буде вважатися правильною, якщо виконуються всі такі умови.
Відстань від точки AA до прямої aa не перевищує 10−410−4.
Відстань від точки BB до прямої bb не перевищує 10−410−4.
|AC+CB−AB|≤10−4|AC+CB−AB|≤10−4.
|AC−CB|≤10−4|AC−CB|≤10−4.
Constraints
Усі координати за модулем не перевищують 100100.
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 |