美術展では、子供たちが自分だけのサンドアートを作れるブースがよく設けられています。通常、この作品は瓶や容器に異なる色の砂を層状に詰めて作ります。今年は瓶の代わりに、新しい容器を飾り付けに使います。その容器はガラスの箱です!
箱の正面は二次元の長方形で、厚さはちょうど 1 単位です。ガラスの箱の中に $n-1$ 枚の垂直な仕切りを置き、$n$ 個の区画に分けます。下の例では、3 枚の仕切りで箱を 4 個の区画に分けています。
子供たちは、作品の各区画に、それぞれの色の砂を一定の量だけ入れたいことがあります。区画と砂の色の各組合せに対して、最小量と最大量を指定します。あなたの仕事は、作品をどこまで均等にできるかを求める手助けをすることです。そのために、砂全体の高さが最も高い区画と最も低い区画の砂の高さの差を最小化します。
入力
各入力は 1 個のテストケースからなります。プログラムは異なる入力に対して複数回実行される場合があることに注意してください。入力の最初の行には、空白区切りの 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 桁です。第 $i$ 行の第 $j$ 要素は、区画 $i$ に入れなければならない色 $j$ の砂の最小量を表します。
続く $n$ 行には、それぞれ空白区切りの $m$ 個の実数 $max$($0 \le max \le w\cdot h$)が与えられます。各数は小数点以下が最大 3 桁です。第 $i$ 行の第 $j$ 要素は、区画 $i$ に入れられる色 $j$ の砂の最大量を表し、$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