직진 로봇

남북으로 움직이는 보도 위를 지나 로봇이 (X,0)에 도착하도록 처음 방향을 정하고, 이동 시간을 구해 2X/v를 넘으면 "Too hard"를 출력한다.

보통6수학이분 탐색기하면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

장난감 로봇은 일정한 속력 vv로 직진한다. 이 로봇을 평면 위의 (0,0)(0, 0)에서 (X,0)(X, 0)까지 보내려고 한다. 평면에 아무것도 없다면 원점에서 로봇을 정동쪽으로 향하게 놓기만 하면 되고, X/vX/v 시간이 지나면 목적지에 도착한다. 그런데 출발점과 목적지 사이에는 정북 또는 정남으로 움직이는 무빙워크가 nn개 있고, 로봇이 그 위를 걷는 동안 로봇의 위치를 함께 밀어낸다.

무빙워크는 로봇이 향한 방향을 바꾸지 않는다. 로봇은 걷는 내내 처음 방향을 그대로 유지한다. 무빙워크는 모두 yy축과 나란하고 길이가 무한하다. 로봇을 출발점에서 목적지까지 정확히 보내려면 출발할 때의 방향을 조절해야 한다. 로봇이 목적지에 정확히 도착하도록 방향을 골랐다고 할 때, 도착까지 걸리는 시간을 구하라.

조건이 하나 더 있다. 로봇이 오래 걷는 것은 곤란하다. 무빙워크가 하나도 없을 때 걸리는 시간의 두 배, 즉 2X/v2X/v 이내에 목적지에 도착하지 못한다면 시간 대신 그 사실을 알려야 한다.

입력

첫째 줄에 세 수 nn, XX, vv가 공백으로 구분되어 주어진다 (0n1000 \le n \le 100, 1X1061 \le X \le 10^6, 1.0v100.01.0 \le v \le 100.0). vv는 정수가 아닐 수도 있다.

다음 nn개 줄에는 ii번째 무빙워크를 나타내는 세 수 lil_i, rir_i, viv_i가 공백으로 구분되어 주어진다 (0l1<r1l2<r2ln<rnX0 \le l_1 < r_1 \le l_2 < r_2 \le \cdots \le l_n < r_n \le X, 100.0vi100.0-100.0 \le v_i \le 100.0). lil_irir_i는 정수로 각각 무빙워크의 왼쪽 끝과 오른쪽 끝을 나타내고, 소수 viv_i는 그 무빙워크의 속력을 나타낸다. 속력이 양수면 북쪽으로, 음수면 남쪽으로 움직인다.

출력

무빙워크가 하나도 없을 때 걸리는 시간의 두 배 이내에 로봇이 목적지에 도착하지 못하면 첫째 줄에 따옴표 없이 Too hard를 출력한다.

그렇지 않으면 첫째 줄에 출발점에서 목적지까지 걸리는 시간을 반올림해 소수점 아래 정확히 셋째 자리까지 출력한다.