달팽이

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

정사각형 울타리 안에 N마리의 달팽이가 있다. 모든 달팽이는 시작 위치에서 동시에 출발하여 다음 규칙에 따라 움직인다.

  1. 모든 달팽이의 시작 위치는 서로 다르다.
  2. 각 달팽이에게는 움직이는 방향이 하나 주어지며, 그 방향을 향해 직선으로만 이동한다.
  3. 모든 달팽이의 속력은 1초에 1cm로 같다.
  4. 달팽이는 울타리(정사각형의 경계)에 닿으면 멈춘다.
  5. 달팽이는 다른 달팽이가 이미 지나간 지점에 도달하면 그 자리에서 멈춘다.
  6. 둘 이상의 달팽이가 같은 지점에 동시에 도달하면 그 달팽이들은 모두 멈춘다.

즉, 어떤 달팽이는 자신의 경로를 따라 이동하다가 (a) 울타리에 닿거나, (b) 다른 달팽이가 자신보다 먼저 지나간 지점에 처음으로 도달하거나, (c) 다른 달팽이와 같은 지점에서 정확히 같은 시각에 만나면 멈춘다.

N마리 달팽이의 시작 위치와 이동 방향이 주어질 때, 모든 달팽이가 동시에 출발하여 마지막 달팽이까지 멈추는 데 걸리는 시간을 구하여라. 답은 소수점 셋째 자리에서 반올림하여 출력한다.

입력

첫째 줄에 달팽이의 수 $N$($1 \le N \le 1{,}000$)과 울타리 한 변의 길이(cm)를 나타내는 자연수 $L$($10 \le L \le 10{,}000$)이 공백을 사이에 두고 주어진다. 울타리의 왼쪽 아래 꼭짓점의 좌표는 $(0, 0)$, 오른쪽 위 꼭짓점의 좌표는 $(L, L)$이다.

다음 $N$개의 줄에는 각 달팽이의 정보가 네 정수 $x, y, p, q$($0 < x, y, p, q < L$)로 주어진다. 이는 달팽이가 시작 위치 $(x, y)$에서 점 $(p, q)$를 향하는 방향으로 직선으로 움직인다는 뜻이다. 점 $(x, y)$와 점 $(p, q)$는 서로 다르다.

출력

첫째 줄에 모든 달팽이가 멈출 때까지 걸린 시간을 소수점 셋째 자리에서 반올림하여 출력한다. 시간은 반드시 소수점 아래 둘째 자리까지 표시한다. 예를 들어 시간이 10.667이면 10.67, 5이면 5.00, 5.5이면 5.50으로 출력한다.