Складання вигнутих блоків
Ви займаєтеся будівельними роботами і, щоб заощадити кошти, використовуєте деякі знижені, "нерегулярні" будівельні матеріали. Зокрема, у вас є блоки, які здебільшого прямокутні, але з однією криволінійною гранню. Як показано нижче, ви плануєте використовувати ці нерегулярні блоки між стопками звичайних блоків, щоб вони не зміщувалися вбік або не оберталися. Ви розмістите один нерегулярний блок знизу, з його криволінійною гранню, що вказує вгору, і ще один над ним, з його криволінійною гранню, що вказує вниз. Вам потрібно лише знати, наскільки добре ці блоки підходять один до одного. Ви визначаєте якість підгонки як максимальний вертикальний зазор між верхньою гранню нижнього блоку і нижньою гранню верхнього блоку, коли верхній блок просто торкається нижнього.
Рисунок 1: Складання блоків і система координат
Усі блоки мають ширину в одну одиницю. Ви змоделювали криволінійні грані як кубічні поліноми, з лівою гранню блоку на x = 0 і правою гранню на x = 1.
Вхідні дані
Кожен тестовий випадок подається на двох рядках, причому кожен рядок містить чотири дійсних числа. Числа на першому рядку, b_0 b_1 b_2 b_3, описують форму верхньої грані нижнього блоку. Ця грань має форму, подібну до полінома b_0 + b_1 x + b_2 x^2 + b_3 x^3 для 0 ≤ x ≤ 1. Числа на наступному рядку введення, t_0 t_1 t_2 t_3, описують нижню грань блоку, що розташовується зверху. Ця грань має форму, подібну до полінома t_0 + t_1 x + t_2 x^2 + t_3 x^3 для 0 ≤ x ≤ 1. Жодне вхідне значення не матиме величини більше ніж 50000. Максимум 500 тестових випадків. Введення закінчується в кінці файлу.
Вихідні дані
Для кожного тестового випадку виведіть один рядок, що дає якість підгонки. Відповідь вважається правильною, якщо її абсолютна або відносна похибка не перевищує 10^-6.