Переміщення Точок
Розгляньмо кілька цільових точок на площині. Кожна з них рухається по прямій лінії з постійною швидкістю і не змінює напрямок. Тепер уявімо точку-переслідувача, яка стартує з початку координат і рухається зі швидкістю, що перевищує швидкість будь-якої з цільових точок. Точка-переслідувач рухається з постійною швидкістю, але може змінювати напрямок на свій розсуд. Вона "зловить" цільову точку, а потім переміститься, щоб зловити іншу, і так далі.
Враховуючи параметри точки-переслідувача та цільових точок, визначте, скільки мінімального часу потрібно точці-переслідувачу, щоб зловити всі цільові точки. "Зловити" означає, що переслідувач і цільова точка знаходяться в одній точці на площині в один і той же момент часу. Це може бути миттєво; немає потреби, щоб переслідувач залишався з цільовою точкою протягом будь-якого ненульового проміжку часу.
Вхідні дані
У вхідних даних буде кілька тестових випадків. Кожен тестовий випадок починається з двох цілих чисел
N C
де N (1 ≤ N ≤ 15) — кількість цільових точок, а C (0 < C ≤ 1,000) — швидкість точки-переслідувача. Кожен з наступних N рядків містить чотири цілі числа, що описують цільову точку:
X Y D S
де (X, Y) — це початкове розташування на площині (-1000 ≤ X, Y ≤ 1,000) цієї цільової точки в момент часу 0, D (0 ≤ D < 360) — напрямок руху в градусах (0 градусів — це позитивна вісь X, 90 градусів — це позитивна вісь Y), а S (0 ≤ S < C) — швидкість цієї цільової точки. Вважається, що всі цільові точки починають рухатися негайно в момент часу 0.
Вхідні дані закінчуються рядком з двома 0.
Вихідні дані
Для кожного тестового випадку виведіть одне дійсне число в окремому рядку, яке представляє мінімальний час, необхідний точці-переслідувачу, щоб зловити всі цільові точки. Виведіть це число з точністю до 2 десяткових знаків, округлене. Не виводьте зайвих пробілів і не розділяйте відповіді порожніми рядками.