시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
야니차는 첫 번째 슬라럼을 좋지 않게 마쳤다. 우승하려면 두 번째 슬라럼에서 가능한 한 가장 짧은 경로로 빠르게 내려와야 한다.
경로의 시작점과 도착점은 평면 좌표계의 두 점이다. 스키 선수가 반드시 통과해야 하는 각 게이트는 x축과 평행한 선분이다. 시작점의 y좌표, 선수들이 통과해야 하는 순서대로 주어진 게이트들의 y좌표, 도착점의 y좌표를 나열하면 항상 엄격히 감소한다.
시작점에서 도착점까지의 경로는 여러 선분을 이어 만든다. 첫 번째 선분은 시작점에서 첫 번째 게이트 위의 한 점으로 이어지고, 이후 각 선분은 서로 이웃한 두 게이트 위의 점을 잇는다. 마지막 선분은 마지막 게이트 위의 한 점에서 도착점으로 이어진다. 서로 이웃한 두 선분은 같은 끝점을 공유하며, 그 점은 해당 게이트를 나타내는 선분 위에 있어야 한다.
시작점에서 출발해 모든 게이트를 순서대로 통과한 뒤 도착점에 이르는 가능한 경로 중 길이가 가장 짧은 경로의 길이를 구하라.
첫째 줄에 게이트의 수 N이 주어진다. (1 <= N <= 5000)
둘째 줄에는 시작점의 좌표 XS, YS가 공백으로 구분되어 주어진다.
다음 N개의 줄에는 각 게이트를 나타내는 세 정수 X1, X2, Y가 공백으로 구분되어 주어진다. 항상 X1 < X2이며, 해당 게이트의 두 끝점은 (X1, Y), (X2, Y)이다. 게이트는 선수가 통과해야 하는 순서대로 주어진다.
마지막 줄에는 도착점의 좌표 XC, YC가 공백으로 구분되어 주어진다.
입력에 포함된 모든 좌표의 절댓값은 15000 이하이다.
가장 짧은 경로의 길이를 첫째 줄에 출력한다. 출력값은 소수점 아래 넷째 자리까지 반올림한 값이어야 하며, 정답과의 절대 또는 상대 오차가 0.0001 이하이면 정답으로 인정된다.