На художественных выставках очень часто встречаются стенды, где дети могут создавать собственные произведения из песка. Обычно для этого банку или бутылку заполняют слоями песка разных цветов. В этом году вместо бутылки для украшения используется новая ёмкость! Это стеклянный ящик!
Передняя грань ящика — двумерный прямоугольник, а его толщина равна ровно 1 единице. Внутри устанавливают $n-1$ вертикальных перегородок, разделяющих ящик на $n$ секций. В приведённом ниже примере ящик разделён на 4 секции с помощью 3 перегородок:
Иногда дети хотят, чтобы в каждой секции их произведения было определённое количество песка каждого цвета. Для каждой пары «секция — цвет песка» они задают минимум и максимум. Ваша задача — помочь им выяснить, насколько ровным можно сделать произведение. Для этого нужно минимизировать разность высот песка в секции с наибольшим общим уровнем песка и в секции с наименьшим общим уровнем.
Входные данные
Каждый входной файл содержит один тест. Учтите, что ваша программа может запускаться несколько раз на разных входных данных. Первая строка содержит 4 целых числа, разделённых пробелами: $n\ m\ w\ h$, где:
- $n$ ($2 \le n \le 200$) — количество секций;
- $m$ ($1 \le m \le 200$) — количество цветов песка;
- $w,h$ ($1 \le w,h \le 5\,000$) — ширина и высота ящика (его глубина всегда равна 1).
Следующая строка содержит $m$ разделённых пробелами вещественных чисел $v$ ($0<v \le w\cdot h$), имеющих не более 3 знаков после точки. Они обозначают объёмы песка каждого цвета. Использовать весь песок необязательно, но минимумы для каждой секции должны быть соблюдены.
Следующая строка содержит $n-1$ разделённых пробелами вещественных чисел $x$ ($0<x<w$), имеющих не более 3 знаков после точки. Они обозначают расстояние каждой перегородки от левой стенки. Гарантируется, что значения $x$ отсортированы по возрастанию.
Каждая из следующих $n$ строк содержит $m$ разделённых пробелами вещественных чисел $min$ ($0 \le min \le w\cdot h$), имеющих не более 3 знаков после точки. Элемент $j$ строки $i$ — минимальное количество песка цвета $j$, которое нужно поместить в секцию $i$.
Каждая из следующих $n$ строк содержит $m$ разделённых пробелами вещественных чисел $max$ ($0 \le max \le w\cdot h$), имеющих не более 3 знаков после точки. Элемент $j$ строки $i$ — максимальное количество песка цвета $j$, которое можно поместить в секцию $i$, причём $min_{ij} \le max_{ij}$.
Выходные данные
Выведите вещественное число, округлённое ровно до 3 знаков после точки, — минимально возможную разность между максимальной и минимальной высотами песка в секциях. Всегда существует распределение песка, удовлетворяющее ограничениям входных данных.
Примеры
Входные данные 1
2 2 5 5 2.0 2.0 4.0 1.0 0.0 0.0 1.0 1.0 0.0 0.0 2.0
Выходные данные 1
0.750
Входные данные 2
2 2 5 5 2.0 2.0 4.0 1.0 0.0 0.0 1.0 1.5 0.0 0.0 2.0
Выходные данные 2
0.625
Входные данные 3
2 5 11 10 3.0 4.0 4.0 9.0 2.0 4.0 2.0 2.0 1.0 0.5 0.25 0.0 2.0 0.0 4.0 1.0 2.0 2.0 3.0 4.0 0.75 0.0 2.1 0.0 5.1 1.1
Выходные данные 3
0.266