Pythagoraslope
Аліса, твоя дівчина, навчається в художній школі. Вона на останньому курсі і зараз старанно працює над створенням фактури для виконання випускних вимог. Її проект — це великий пінбол з багатьма прямими схилами. Перед тим як почати будівництво, вона підготувала кілька планів, але не впевнена, чи працюють вони так, як очікується. Тому вона звернулася до тебе, професійного програміста, за допомогою.
Ти змоделював цю ситуацію на двовимірній площині з деякими відрізками на ній. У цій моделі діє гравітація вниз, тобто в напрямку зменшення y-координати. Твоє завдання — написати програму, яка симулює пінбол і обчислює останню позицію, де м'яч перетинає x-вісь.
Ти можеш припустити, що коефіцієнт відновлення між схилами і м'ячем дорівнює 0, тобто коли м'яч стикається зі схилом, він миттєво втрачає компонент швидкості, ортогональний до схилу. І оскільки її пінбол такий великий, ти також можеш припустити, що об'єм м'яча є незначним.
Вхідні дані
Вхід складається з кількох наборів даних. Кожен набір даних подано у форматі нижче.
N
g
x y
x_{1,1} y_{1,1} x_{1,2} y_{1,2}
. . .
x_{N,1} y_{N,1} x_{N,2} y_{N,2}
де N (N ≤ 100) — це кількість схилів, g — прискорення гравітації, а (x, y) — початкова позиція м'яча. Кожен з наступних N рядків представляє схил, який є відрізком між (x_{i,1}, y_{i,1}) та (x_{i,2}, y_{i,2}). Ти можеш припустити, що:
всі координати більше або дорівнюють 1, і менше або дорівнюють 10000;
x_{i,1} ≠ x_{i,2} і y_{i,1} ≠ y_{i,2} для всіх 1 ≤ i ≤ N;
жодні два відрізки не перетинаються;
подовження або скорочення схилу на довжину 0.0001 не змінює траєкторію м'яча, тобто не змінює набір схилів, через які проходить м'яч;
м'яч ніколи не стикається зі схилом під кутом 90 ± 0.0001 градусів до схилу; і
початкова позиція м'яча ніколи не лежить на жодному схилі.
Кінець вводу позначається рядком, що містить один нуль. Це не є частиною наборів даних, і ти не повинен його обробляти.
Вихідні дані
Для кожного набору даних виведи x-координату останньої точки перетину траєкторії м'яча і x-осі. Твоя програма може виводити будь-яку кількість цифр після десяткової точки, але похибка виводу не повинна перевищувати 10^{−4} ( = 0.0001).