집라인
면접 대비시간 제한1초메모리 제한1024 MB
각 집라인에서 라이더의 가장 낮은 지점이 평지에서 최소 r미터 위에 있도록 케이블 길이의 최솟값과 최댓값을 구한다.
문제
집라인은 매우 재미있고 빠른 이동 수단이다. 두 개의 기둥에 연결된 매우 튼튼한 강철 케이블을 사용한다. 탑승자(사람일 수도 있고 화물일 수도 있다)는 케이블 위를 이동하는 도르래에 매달린다. 케이블의 높은 지점에서 출발하면 중력이 탑승자를 케이블을 따라 끌어당긴다.
당신의 친구는 재미와 실용을 모두 위해 집라인을 설계하고 설치하는 회사를 차렸다. 그러나 한 가지 중요한 문제가 있다. 두 연결 지점 사이에서 케이블의 길이를 얼마로 해야 하는지 결정하는 것이다. 케이블은 두 기둥 사이에 닿을 만큼 길어야 하지만, 탑승자가 지면에서 안전한 거리를 유지하도록 충분히 짧아야 한다. 친구가 이 길이의 범위를 정하도록 도와주자.
케이블은 w미터 떨어져 있는 두 수직 기둥에 각각 g미터와 h미터 높이에서 연결된다. 케이블은 늘어나지 않고 탑승자에 비해 무게를 무시할 수 있어 처지거나 느슨해지지 않는다고 가정한다. 즉, 항상 케이블은 탑승자와 두 기둥을 잇는 두 개의 직선 선분을 이루며, 두 선분 길이의 합은 케이블 전체 길이와 같다. 탑승자의 가장 낮은 부분은 케이블 아래로 r미터만큼 늘어져 있으므로, 케이블은 이동하는 동안 항상 지면에서 적어도 r미터 위에 있어야 한다. 두 기둥 사이의 지면은 평평하다. 자세한 내용은 그림 M.1을 참고하자.

그림 M.1: 집라인과 이를 설명하는 네 변수.
입력
입력의 첫 줄에는 정수 n이 주어진다. 1 ≤ n ≤ 1 000이다. 다음 n개 줄에는 각각 집라인 설정을 나타내는 네 정수 w, g, h, r이 주어진다. 이들은 위에서 설명한 변수에 해당한다. 값의 범위는 1 ≤ w, g, h ≤ 1 000 000이고, 1 ≤ r ≤ min(g, h)이다.
출력
각 집라인에 대해 두 길이(미터 단위)를 한 줄에 출력한다. 위 제약을 지키면서 케이블이 가질 수 있는 최소 길이와 최대 길이이다. 두 길이 모두 절대 오차가 10−6 이하여야 한다.