신촌에서 안암까지

신촌 도로망과 안암 도로망을 연결하는 가장 짧은 새 도로의 길이를 구합니다.

보통5기하완전 탐색아직 제출이 없습니다시간 제한7초메모리 제한256 MB

문제

연돌이와 고잠녀는 유치원 때부터 친한 친구였다. 그런데 한 번의 잘못된 선택 탓에 서로 만나기 어려워졌다. 신촌에서 안암으로 갈 방법이 없기 때문이다. 사정을 딱하게 여긴 국토교통부 장관이 도로를 하나 새로 놓아 주기로 했다. 다만 예산이 빠듯해서 새 도로의 길이는 가능한 한 짧아야 한다.

2차원 평면 위에 신촌에 연결된 직선 도로들과 안암에 연결된 직선 도로들의 정보가 주어진다. 각 도로는 두 끝점을 잇는 선분이다. 연돌이는 도로 위로만 이동하고, 두 도로가 만나는 지점에서 다른 도로로 갈아탄다. 새로 놓는 도로도 선분 하나이다.

신촌에서 안암으로 갈 수 있게 만드는 새 도로의 최소 길이를 구하자.

입력

첫 줄에 신촌에 연결된 도로의 개수 nn과 안암에 연결된 도로의 개수 mm이 주어진다. (1n,m20001 \le n, m \le 2000)

다음 nn개 줄에는 신촌 도로의 정보가 xsx_s, ysy_s, xex_e, yey_e 순서로 주어진다. (10000xs,ys,xe,ye10000-10000 \le x_s, y_s, x_e, y_e \le 10000) 이 도로의 양 끝점은 (xs,ys)(x_s, y_s)(xe,ye)(x_e, y_e)이다.

이어지는 mm개 줄에는 안암 도로의 정보가 같은 형식으로 주어진다. (50000xs,ys,xe,ye50000-50000 \le x_s, y_s, x_e, y_e \le 50000)

모든 좌표는 소수점 아래 최대 20자리까지 주어진다.

신촌에 연결된 도로 중 어느 두 도로를 골라도 한쪽에서 다른 쪽으로 갈 수 있고, 안암에 연결된 도로끼리도 마찬가지이다. 새 도로를 놓기 전에는 신촌 도로에서 출발해 안암 도로에 도착할 수 없다.

출력

신촌에서 안암으로 갈 수 있으려면 새 도로의 길이가 최소 얼마여야 하는지 한 줄에 출력한다.

소수점 아래 일곱째 자리에서 반올림해서, 소수점 아래 여섯 자리를 빠짐없이 출력한다.