움직이는 점 잡기

시간 제한1초메모리 제한128 MB

문제

평면 위에서 여러 개의 표적 점이 움직인다. 각 표적 점은 일정한 속력으로 직선을 따라 이동하며, 방향을 절대 바꾸지 않는다. 추격 점 하나가 원점 $(0, 0)$에서 출발하며, 모든 표적 점보다 엄격히 빠른 일정한 속력으로 움직인다. 표적과 달리 추격 점은 언제든 즉시 방향을 바꿀 수 있다.

추격 점은 어떤 표적과 같은 시각에 평면 위 같은 지점에 놓이는 순간 그 표적을 잡는다. 접촉은 순간적이어도 되므로, 추격 점이 표적과 양(+)의 시간 동안 함께 머무를 필요는 없다. 하나의 표적을 잡은 뒤에는 다음 표적을 잡으러 이동하고, 이를 반복하여 모든 표적을 잡는다.

추격 점의 속력과 각 표적의 초기 위치, 이동 방향, 속력이 주어질 때, 추격 점이 모든 표적을 잡는 데 필요한 최소 총 시간을 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 두 정수가 주어진다.

N C

여기서 $N$ ($1 \le N \le 15$)은 표적 점의 개수이고, $C$ ($0 < C \le 1000$)는 추격 점의 속력이다.

이어지는 $N$개의 줄에는 각각 하나의 표적을 나타내는 네 정수가 주어진다.

X Y D S

여기서 $(X, Y)$ ($-1000 \le X, Y \le 1000$)는 시각 $0$에서의 표적 위치, $D$ ($0 \le D < 360$)는 도(degree) 단위의 이동 방향($0$도는 양의 $x$축, $90$도는 양의 $y$축 방향), $S$ ($0 \le S < C$)는 표적의 속력이다. 모든 표적은 시각 $0$부터 즉시 움직이기 시작한다.

입력의 끝은 두 개의 $0$으로 이루어진 줄 0 0이다.

출력

각 테스트 케이스마다 추격 점이 모든 표적을 잡는 데 필요한 최소 시간을 소수점 셋째 자리에서 반올림하여, 소수점 아래를 항상 두 자리로 맞추어 한 줄에 하나씩 출력한다. 불필요한 공백을 출력하지 말고, 답 사이에 빈 줄을 넣지 않는다.