만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

카메라가 달린 드론

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

요약
원점을 지나지 않는 두 직선이 주어질 때, 원점에서 출발해 두 직선을 모두 지나 다시 원점으로 돌아오는 최단 경로의 길이를 구합니다.
난이도

보통10점 중 5점

유형
기하, 수학
정답자
아직 제출이 없습니다

문제

Maggy는 선물로 카메라가 달린 드론을 받았습니다. 그녀는 이 드론으로 가까이 있는 두 개의 직선 무한 도로를 촬영하려고 합니다. 도로 사진은 도로 바로 위에서 찍을 때 가장 좋습니다. 배터리가 오래 버티지 못할까 걱정되므로, 그녀는 드론의 경로를 가능한 한 짧게 만들고 싶어 합니다. 드론은 반드시 Maggy의 집에서 출발해서 집에서 끝나야 합니다. 가능한 가장 짧은 경로를 계획하도록 도와주세요.

입력

입력의 첫 번째 줄에는 정수 세 개 a,b,ca, b, c (−106≤a,b,c≤106-10^6 \leq a,b,c \leq 10^6, a≠0a \neq 0 또는 b≠0b \neq 0)가 한 칸씩 띄어져 주어집니다. 이는 첫 번째 도로를 나타내며, 방정식 ax+by=ca x + b y = c를 만족합니다. 두 번째이자 마지막 줄에는 두 번째 도로를 같은 형식으로 나타낸 정보가 주어집니다.

두 도로는 서로 다릅니다. 즉, 두 도로는 겹치지 않습니다. 또한 두 도로 모두 Maggy의 집, 좌표 (0,0)(0,0)을 지나지 않습니다.

출력

출력의 첫 번째이자 유일한 줄에 드론 경로의 최소 길이를 실수 하나로 출력합니다. 상대 오차 또는 절대 오차가 10−610^{-6} 이하이면 정답으로 인정합니다.

예제1

  1. 예제 1

    입력
    1 0 2
    -1 1 1
    
    예상 출력
    5.099019513593