공이 좌우 번갈아 달린 날개를 타고 굴러 내려갈 때, 중간에 끼지 않고 끝까지 도달하는 공 지름의 최댓값을 구한다.
어려움8기하이분 탐색시뮬레이션수학아직 제출이 없습니다시간 제한2초메모리 제한512 MB어느 공장에서 아래 그림과 같은 구슬 미끄럼틀 장난감을 만들려고 한다. 나무 막대 두 개가 세로로 서 있고, 두 막대에 번갈아 붙은 날개가 그 사이에 걸쳐 있다. 가장 높은 날개에 강철 구슬을 놓으면 구슬은 중력을 받아 날개를 차례로 타고 내려가다가 장난감 밖으로 빠져나온다.

막대와 날개의 크기, 위치, 기울기를 담은 설계는 공장 주인이 이미 확정했고 수천 개가 생산에 들어갔다. 강철 구슬을 사는 일은 공장 관리자가 맡았다. 관리자는 수천 개를 주문하기 전에, 구슬이 중간에 걸리지 않고 끝까지 내려오는 최대 지름을 알고 싶다.

그림 1: 두 가지 예시. (a)에서는 구슬이 끝까지 내려오고, (b)에서는 구슬이 중간에 걸려 끝까지 내려오지 못한다.
장난감을 정면에서 보면 평면이다. 왼쪽 막대는 직선 x=0, 오른쪽 막대는 직선 x=L이고, 날개는 두께가 없는 선분이다. 구슬은 원이고, 막대와 날개에 닿을 수는 있지만 뚫고 지나갈 수는 없다. 장난감의 설계를 읽어 구슬이 중간에 걸리지 않고 밖으로 나오는 최대 지름을 구하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어지고, 파일 끝까지 읽어야 한다.
각 테스트 케이스의 첫째 줄에는 날개의 개수 N이 주어진다. 둘째 줄에는 두 막대 사이의 거리 L과 막대의 높이 H가 주어진다. 왼쪽 막대는 X축의 좌표 0에, 오른쪽 막대는 좌표 L에 서 있다.
이어지는 N개의 줄은 날개를 높은 것부터 낮은 것 순서로 하나씩 설명한다. 날개가 붙은 막대는 한 줄마다 번갈아 바뀐다. 가장 높은 날개(첫 번째로 주어지는 날개)는 끝이 왼쪽 막대에 붙어 있고, 두 번째로 높은 날개는 오른쪽 막대에 붙어 있다. 즉 홀수 번째 날개는 왼쪽 막대에, 짝수 번째 날개는 오른쪽 막대에 붙어 있다.
각 날개는 공백으로 구분된 세 정수 Yi, Xf, Yf로 주어진다. (Xf,Yf)는 날개가 끝나는 점의 좌표다. 홀수 번째 날개는 (0,Yi)에서 시작하고, 짝수 번째 날개는 (L,Yi)에서 시작한다.
모든 날개는 Yi>Yf이므로 시작점에서 끝점으로 내려간다. 날개의 길이는 장난감의 너비보다 짧다. 연속한 두 날개 A와 B는 YfA≥YiB를 만족한다. 즉 A의 끝점은 B의 시작점과 같거나 더 높다. 연속한 두 날개는 가로로 겹치므로 A의 끝점에서 떨어진 구슬은 항상 B 위에 떨어진다.
날개는 매우 얇아서 두께를 무시할 수 있고, 날개의 폭은 항상 구슬의 지름보다 크므로 구슬이 날개를 타고 내려갈 옆 공간은 항상 있다.
제한
각 테스트 케이스마다 구슬이 장난감 전체를 통과할 수 있는 최대 지름을 소수점 아래 둘째 자리까지 반올림해 한 줄에 출력한다.