공사를 하면서 비용을 아끼려고 값이 싼 불규칙 블록을 샀다. 이 블록은 한 변만 곡선이고 나머지는 직사각형과 같다. 옆으로 밀리거나 회전하지 않도록, 평범한 블록을 쌓아 올린 사이에 불규칙 블록을 끼워 넣는다. 아래쪽 불규칙 블록은 곡선 변이 위를 향하도록 놓고, 그 위에 올리는 불규칙 블록은 곡선 변이 아래를 향하도록 놓는다. 위 블록은 아래 블록에 닿을 때까지 수직으로 내린다.
두 블록이 얼마나 잘 맞물리는지를 알아보려고 한다. 위 블록이 아래 블록에 막 닿은 순간, 아래 블록의 윗변과 위 블록의 아랫변 사이 수직 간격 중 가장 큰 값을 맞물림 품질이라고 정의한다.
모든 블록의 너비는 1이다. 두 곡선 변은 x에 대한 삼차 다항식으로 나타내며, 블록의 왼쪽 끝이 x=0, 오른쪽 끝이 x=1이다.
입력은 여러 개의 테스트 케이스로 이루어지고 파일 끝에서 끝난다. 테스트 케이스는 최대 500개이다.
테스트 케이스 하나는 두 줄이고, 각 줄에는 실수 네 개가 주어진다.
첫째 줄에는 b0 b1 b2 b3가 주어진다. 아래 블록의 윗변은 0≤x≤1에서 b0+b1x+b2x2+b3x3과 같은 모양이다.
둘째 줄에는 t0 t1 t2 t3가 주어진다. 위 블록의 아랫변은 0≤x≤1에서 t0+t1x+t2x2+t3x3과 같은 모양이다.
입력으로 주어지는 값의 절댓값은 50000을 넘지 않는다.
각 테스트 케이스마다 맞물림 품질을 한 줄에 하나씩 출력한다.
값은 소수점 아래 여섯째 자리까지 반올림해서 출력하고, 뒷자리가 0이어도 여섯 자리를 모두 채운다. 예를 들어 값이 3이면 3.000000으로 출력한다.
반올림 결과가 갈리는 경계에 정답이 놓이는 테스트 케이스는 주어지지 않는다.