Hide

Problem C
Tour Guide

/problems/tourguide/file/statement/en/img-0001.png

You are working as a guide on a tour bus for retired people, and today you have taken your regular Nordic seniors to The Gate of Heavenly Peace. You let them have a lunch break where they could do whatever they like. Now you have to get them back to the bus, but they are all walking in random directions. You try to intersect them, and send them straight back to the bus. Minimize the time before the last person is in the bus. You will always be able to run faster than any of the tour guests, and they walk with constant speed, no matter what you tell them. The seniors walk in straight lines, and the only way of changing their direction is to give them promises of camphor candy. A senior will neither stop at nor enter the bus before given such a promise.

Input

There are a number of test cases (at most $10$) consisting of: A line with an integer $1 \leq n \leq 8$, the number of people on the tour. A line with an floating point number $1 < v \leq 100$, your maximum speed (you start in the bus at the origin). Then follow $n$ lines, each containing four floating point numbers $x_ i$ $y_ i$ $v_ i$ $a_ i$, the starting coordinates ($-10^6 \leq x_ i, y_ i \leq 10^6$), speed ($1 \leq v_ i < 100$) and direction ($0 \leq a_ i < 2 \pi $) of each of the tour guests.

The input is terminated by a case with $n = 0$, which should not be processed. All floating point numbers in the input will be written in standard decimal notation, and have no more than $6$ digits.

Output

For each test case, print a line with the time it takes before everybody is back in the bus (the origin). Round the answer to the nearest integer. The answer will never be larger than $10^6$.

Sample Input 1 Sample Output 1
1
50.0
125.0 175.0 25.0 1.96
3
100.0
40.0 25.0 20.0 5.95
-185.0 195.0 6.0 2.35
30.0 -80.0 23.0 2.76
0
20
51

Please log in to submit a solution to this problem

Log in