졸업한 택희를 기리며

사슴들이 선분 [0,T] 위를 왕복하며 각자 힘을 가진다. 위치 x의 조각상은 도달한 사슴들의 합력이 W를 넘는 순간 쓰러진다. x를 잘 골라 쓰러지는 시각의 최댓값을 구한다.

어려움9수학시뮬레이션누적 합정렬아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

기나긴 학부 생활 끝에 택희가 학교를 떠났다. 도현이는 택희의 업적을 기리는 동상을 세우기로 하고 후보 구역을 골랐다. 후보 구역은 수직선을 이루므로 동상은 수직선 위의 한 점에 세우게 되며, 그 점이 정수 좌표일 필요는 없다.

동상 제작이 끝나갈 무렵 근처 야산에서 고라니 NN마리가 내려왔다. 고라니는 동상을 세울 수직선 위를 앞만 보고 일정한 속도로 뛰어다닌다. 수직선의 왼쪽 끝에 닿은 고라니는 오른쪽으로, 오른쪽 끝에 닿은 고라니는 왼쪽으로 방향을 바꾸며 구역을 떠나지 않는다. 도현이는 그래도 동상을 세우기로 했다. 대신 동상이 쓰러지지 않고 최대한 오래 버티기를 바란다.

도현이가 알아낸 사실은 다음과 같다.

  • 고라니와 동상은 크기가 없는 점이다.
  • 고라니마다 시작점과 보는 방향(왼쪽 또는 오른쪽)이 있고, 보는 방향으로 1초에 거리 1만큼 뛴다. 수직선의 한쪽 끝에 닿으면 방향을 바꾸어 계속 뛴다. 고라니끼리 마주치면 아무 일 없이 서로 지나친다.
  • ii번 고라니의 힘은 SiS_i이다. 동상에 닿은 고라니는 그 자리에 멈춰 동상을 영원히 민다. 미는 방향은 닿는 순간 그 고라니가 보고 있던 방향이다.
  • 동상을 왼쪽에서 미는 힘과 오른쪽에서 미는 힘은 서로 상쇄된다. 예를 들어 왼쪽에서 3의 힘으로 미는 고라니와 오른쪽에서 2의 힘으로 미는 고라니가 있으면 동상에는 오른쪽으로 1의 힘만 전달된다.
  • 어떤 고라니의 시작점에 동상을 세우면 그 고라니는 뛰지 않고 처음부터 동상을 민다. 미는 방향은 그 고라니가 보고 있는 방향이다.
  • 동상의 내구도는 WW이다. 동상에 전달되는 힘이 어느 방향으로든 WW보다 커지는 순간 동상은 쓰러진다.
  • 두 고라니가 같은 순간에 동상에 닿으면 두 힘은 순서 없이 동시에 더해진다.

동상을 어디에 세우느냐에 따라 쓰러지는 시각이 달라진다. 위치를 가장 잘 골랐을 때 동상이 버티는 시간을 구하라.

입력

첫째 줄에 세 정수 NN, TT, WW가 주어진다. 각각 고라니의 수, 수직선 좌표의 최댓값, 동상의 내구도이다. (1N70001 \le N \le 7000, 1T10181 \le T \le 10^{18}, 0W1090 \le W \le 10^9)

수직선 좌표의 최솟값은 항상 00이다.

다음 NN개의 줄 가운데 ii번째 줄에 세 정수 PiP_i, DiD_i, SiS_i가 주어진다. 각각 ii번 고라니의 시작 위치, 처음 보는 방향, 힘이다. Di=0D_i = 0이면 왼쪽을, Di=1D_i = 1이면 오른쪽을 본다. (0PiT0 \le P_i \le T, Di=0D_i = 0 또는 Di=1D_i = 1, 0Si1090 \le S_i \le 10^9)

모든 고라니의 속도는 1초에 거리 1로 같다.

출력

동상을 세울 위치 xx를 하나 정하면 동상이 쓰러지는 시각도 하나로 정해진다. 이 시각을 f(x)f(x)라고 하자. 동상에 전달되는 힘의 크기가 처음으로 WW를 넘는 순간이 f(x)f(x)이고, 그런 순간이 없으면 f(x)=f(x) = \infty이다.

f(x)=f(x) = \infty인 위치 xx가 하나라도 있으면 첫째 줄에 inf를 출력한다.

그렇지 않으면 0xT0 \le x \le T인 모든 실수 xx에 대한 f(x)f(x)의 상한, 즉 최소 상계를 첫째 줄에 출력한다. 위치를 조금씩 옮기면 f(x)f(x)가 어떤 값에 한없이 가까워지지만 그 값에 정확히 도달하는 위치는 없을 수 있다. 그런 경우에도 그 값을 답으로 한다.

답은 항상 0.50.5의 배수이므로 소수점 아래 한 자리까지 출력한다. 답이 9와 2분의 1이면 9.5를, 답이 10이면 10.0을 출력한다.

힌트

첫 번째 예제에서 동상을 6.56.5에 세우면, 시각 2.52.5에 3번 고라니와 4번 고라니가 동시에 닿아 오른쪽에서 왼쪽으로 4의 힘이 남는다. 시각 5.55.5에 2번 고라니가 닿아 남은 힘이 0이 되고, 시각 9.59.5에 1번 고라니가 닿으면서 전달되는 힘이 20이 되어 동상이 쓰러진다. 이보다 오래 버티는 위치는 없다.

두 번째 예제에서 동상을 1010에 세우면, 시각 33에 1번 고라니와 2번 고라니가 동시에 닿아 오른쪽에서 왼쪽으로 4의 힘이 남는다. 시각 77에는 3번 고라니가 왼쪽에서, 4번 고라니가 오른쪽에서 동시에 닿아 왼쪽에서 오른쪽으로 21(4+7)=1021 - (4 + 7) = 10의 힘이 남는다. 내구도가 10이므로 동상은 쓰러지지 않고, 더 닿을 고라니도 없다.

세 번째 예제에서는 고라니의 힘이 모두 3이고 내구도가 2이므로, 고라니 한 마리가 닿는 순간 동상이 쓰러진다. 위치 xx1<x<31 < x < 3을 만족하면 가장 먼저 닿는 고라니의 도착 시각은 min(x+1,3x)\min(x + 1, 3 - x)이고, 이 값은 xx가 1에 가까워질수록 2에 가까워진다. 위치를 정확히 x=1x = 1로 잡으면 2번 고라니가 그 자리에서 바로 동상을 밀어 시각 0에 쓰러진다. 2초를 온전히 버티는 위치는 없지만 답은 2.0이다.