喺克羅地亞首都薩格勒布,為咗配合 IOI 2007 嘅舉辦,決定喺郊外興建一座大型購物中心。購物中心嘅建設候選地如下圖所示,被劃分為橫向 $m$ 個街區、縱向 $n$ 個街區嘅格仔狀區域。

薩格勒布市決定由建設候選地入面揀出一個橫向 $a$ 個街區、縱向 $b$ 個街區嘅長方形區域,並喺嗰度興建購物中心。不過,建設候選地入面嘅某啲街區已經有人住緊,無辦法喺呢啲土地上面興建購物中心。如果喺一個橫向 $a$ 個街區、縱向 $b$ 個街區嘅長方形區域入面無任何有人住嘅街區,就可以透過收購呢個長方形區域入面嘅所有街區嚟興建購物中心。
出於薩格勒布市財政上嘅原因,收地所需嘅費用需要盡量少。為咗制定預算方案,需要盡快計出興建購物中心所需嘅收地費用。因此,薩格勒布市決定委託作為 IOI 2007 代表候選人嘅你嚟編寫完成呢個任務嘅程式。
當給定建設候選地嘅大細、購物中心嘅大細,以及每個街區係咪有人住嘅資訊,同埋喺無人住嗰陣收購該街區所需嘅費用作為輸入時,請編寫一個程式,求出興建購物中心所需嘅收地費用嘅最小值。
喺下文入面,將建設候選地由左邊數起第 $i$ 列、由上邊數起第 $j$ 行嘅街區記作 $(i, j)$。
輸入
輸入檔案 mall.in 嘅第 1 行寫有兩個以空格分隔嘅整數 $m, n$ ($1 \le m, n \le 1000$)。呢個表示建設候選地嘅大細為橫向 $m$ 個街區、縱向 $n$ 個街區。
第 2 行寫有兩個以空格分隔嘅整數 $a, b$ ($1 \le a, b \le 1000$)。呢個表示購物中心嘅大細為橫向 $a$ 個街區、縱向 $b$ 個街區。
接落嚟嘅 $n$ 行(第 $3$ 行至第 $n + 2$ 行)寫有建設候選地入面各個街區嘅資訊。第 $j + 2$ 行 ($1 \le j \le n$) 表示由上邊數起第 $j$ 行嘅街區資訊,寫有 $m$ 個以空格分隔嘅整數 $c_{1,j}, \dots, c_{m,j}$ ($-1 \le c_{i,j} \le 100$)。當 $c_{i,j} = -1$ 嗰陣,表示街區 $(i, j)$ 有人住。否則,表示收購街區 $(i, j)$ 所需嘅費用為 $c_{i,j}$。
另外,對於評測所用嘅輸入數據,購物中心嘅興建總係可行嘅。
輸出
請輸出到標準輸出。輸出興建購物中心所需嘅收地費用嘅最小值。
樣例
輸入 1
7 6 3 2 26 29 84 15 -1 1 71 45 14 38 91 62 77 35 68 -1 -1 90 63 56 70 31 2 4 74 72 41 90 100 26 21 -1 44 72 60 71 4 40 93 48 -1 50
輸出 1
184
將呢個輸入輸出樣例入面嘅購物中心建設地用圖表示如下。標有 $\times$ 嘅街區表示已經有人住緊。

注意
請注意輸入數據嘅大細。特別係 C++ 嘅 iostream 比較慢,建議根據需要使用 fscanf 等函數。