슬랄롬

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

문제

마드리드에는 눈이 거의 내리지 않지만, 그곳에서는 겨울 스포츠, 특히 스키에 대한 관심이 커지고 있으며 많은 사람들이 주말이나 심지어 몇 주 동안 산에서 실력을 갈고닦는다. 이 문제에서는 알파인 스키 종목 중 하나인 슬랄롬(회전)만을 다룬다. 코스는 여러 개의 게이트를 늘어놓아 만들어지며, 각 게이트는 두 개의 기문(폴)으로 이루어진다. 선수는 모든 게이트의 두 기문 사이를 통과해야 하며, 어떤 게이트도 놓치지 않고 가장 짧은 시간에 코스를 완주한 선수가 우승한다.

여러분은 스키를 배우기 시작한 지 얼마 되지 않았지만 이미 2018년 동계 올림픽 출전을 목표로 삼았으며, 이 대회에는 마드리드가 유치를 신청할 것으로 예상된다. 이론 훈련의 일환으로, 출발점과 일련의 게이트가 주어질 때 주어진 출발점에서 시작하여 각 게이트를 차례로 통과해 마지막 게이트(결승선)에 도달하는 경로의 최소 길이를 계산하는 프로그램을 작성해야 한다. 모든 게이트는 수평이며 높은 것부터 낮은 것 순서로 주어지므로 그 순서대로 통과해야 한다고 가정해도 된다. 여러분은 아무리 어려운 회전이라도 연속으로 해낼 수 있는 뛰어난 스키어이므로, 오직 경로의 총 길이를 최소화하는 것만 신경 쓰면 된다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 케이스의 첫 줄에는 게이트의 개수 $n$ ($1 \le n \le 1000$)이 주어진다. 다음 줄에는 출발 위치의 데카르트 좌표 $x$와 $y$가 이 순서로 두 개의 실수로 주어진다. 이어서 $n$개의 줄에 각각 세 실수 $y$ $x_1$ $x_2$가 주어지며, 이는 해당 게이트가 $(x_1, y)$에서 $(x_2, y)$까지의 수평 선분임을 뜻한다. $x_1 < x_2$라고 가정해도 된다. $y$ 값은 엄격히 감소하며 항상 출발 위치의 $y$보다 작다. 마지막 게이트가 결승선이다. 모든 좌표는 $-500000$ 이상 $500000$ 이하이다. $n$ 값이 $0$이면 입력의 끝을 의미한다. 각 케이스 뒤에는 빈 줄이 하나 온다.

출력

각 테스트 케이스마다 결승선에 도달하는 데 필요한 경로의 최소 길이를 소수점 아래 정확히 $6$자리로 반올림하여 한 줄에 출력하라. 정확한 답이 소수점 여섯째 자리 반올림의 중간값(정확히 절반)에 놓이는 경우는 없도록 데이터가 보장되므로, 이 반올림은 항상 명확하게 결정된다.