어망

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

어부 에타도카는 아주 작은 섬에서 눈을 떴다. 전날 밤 거센 폭풍을 만나 배가 부서졌고, 사람이 살지 않는 이 섬까지 떠밀려 왔다. 주위에는 배의 잔해가 흩어져 있었고, 그 사이에서 정사각형 나무틀 하나와 긴 실 한 가닥을 찾아냈다. 누군가 구조하러 올 때까지 그는 이 섬에서 버텨야 한다.

물고기를 잡으려고 그는 긴 실을 짧게 잘라 나무틀의 못에 걸어 어망을 만들기 시작했다. 큰 물고기뿐 아니라 작은 물고기까지 잡을 수 있는지 알려면 그물코가 얼마나 큰지 알아야 한다.

나무틀은 한 변이 1미터인 정사각형이고, 아래변, 위변, 왼쪽변, 오른쪽변이라는 네 개의 얇은 변으로 이루어진다. 각 변에는 못이 nn개씩 박혀 있어 모두 4n4n개다. 못의 위치는 (x,y)(x, y) 좌표로 나타낸다. 아래변의 ii번째 못은 (ai,0)(a_i, 0), 위변의 ii번째 못은 (bi,1)(b_i, 1), 왼쪽변의 ii번째 못은 (0,ci)(0, c_i), 오른쪽변의 ii번째 못은 (1,di)(1, d_i)에 있다. 긴 실은 알맞은 길이로 잘라 2n2n가닥이 되고, i=1,,ni = 1, \dots, n에 대해 한 가닥은 (ai,0)(a_i, 0)(bi,1)(b_i, 1) 사이에, 다른 한 가닥은 (0,ci)(0, c_i)(1,di)(1, d_i) 사이에 팽팽하게 걸린다.

이렇게 걸린 실과 나무틀의 네 변이 함께 (n+1)2(n+1)^2개의 그물코를 만든다. 그중 가장 큰 그물코의 넓이를 구하는 프로그램을 작성하시오. 실은 어망을 만들기에 충분히 길고, 나무틀은 두께를 무시해도 될 만큼 얇다고 가정한다.

입력

입력은 여러 개의 부분 문제로 이루어지고, 0 하나만 있는 줄이 나오면 끝난다. 각 부분 문제의 형식은 다음과 같다.

n
a1 a2 ... an
b1 b2 ... bn
c1 c2 ... cn
d1 d2 ... dn

첫 줄의 정수 nn은 각 변에 박힌 못의 개수다. 이어지는 네 줄에는 a1,,ana_1, \dots, a_n, b1,,bnb_1, \dots, b_n, c1,,cnc_1, \dots, c_n, d1,,dnd_1, \dots, d_n이 공백 하나로 구분되어 주어진다. aia_i는 아래변 ii번째 못의 xx좌표, bib_i는 위변 ii번째 못의 xx좌표, cic_i는 왼쪽변 ii번째 못의 yy좌표, did_i는 오른쪽변 ii번째 못의 yy좌표다. 모든 좌표는 소수점 아래 일곱 자리까지 주어진다.

0<n<300 < n < 30이고, 0<a1<a2<<an<10 < a_1 < a_2 < \dots < a_n < 1, 0<b1<b2<<bn<10 < b_1 < b_2 < \dots < b_n < 1, 0<c1<c2<<cn<10 < c_1 < c_2 < \dots < c_n < 1, 0<d1<d2<<dn<10 < d_1 < d_2 < \dots < d_n < 1이다.

출력

부분 문제마다 가장 큰 그물코의 넓이를 소수점 아래 여섯째 자리까지 반올림해 한 줄에 하나씩 출력한다.