#2259. Fenced In

Fenced In

题目描述

农夫约翰意识到他的许多奶牛都奇怪地害怕广场(害怕大的开放空间)。

为了让它们不那么害怕放牧,他通过建造垂直(南北)和水平(东西)栅栏将他的大片土地分成许多较小的区域。

大场是一个矩形,角点位于 (0,0)\red{(0,0) }(A,B)\red{(A,B)}

FJ\red{FJ }在不同的位置 a1\red{a1…}an(0<ai<A)\red{an (0<ai<A) }建立 n\red{n }个垂直栅栏 (0\red{(0≤}n\red{n≤}2000)\red{2000)};每个栅栏从 (ai,0)\red{(ai,0) }(ai,B)\red{(ai,B)}。他还在位置 b1\red{b1…}bm(0<bi<B)\red{bm (0<bi<B) }处建立 m\red{m }个水平栅栏 (0\red{(0≤}m\red{m≤}2000)\red{2000)};每个这样的栅栏从 (0,bi)\red{(0,bi) }(A,bi)\red{(A,bi)}

每个垂直栅栏穿过每个水平栅栏,将大场细分为总共 (n+1)(m+1)\red{(n+1)(m+1) }个区域。

不幸的是,FJ\red{FJ }完全忘记在他的栅栏上建造大门,这使得奶牛无法离开他们的封闭区域并在整个田地里四处走动!

他想通过拆除他的一些栅栏来解决这种情况,让奶牛在相邻区域之间移动。他想选择某些对的相邻区域并移除分隔它们的整个围栏长度;之后,他希望奶牛能够穿过这些开口,这样它们就可以在他更大的田野中的任何地方旅行。

例如,FJ\red{FJ }可能会采用如下所示的栅栏模式:

+---+--+
|   |  |
+---+--+
|   |  |
|   |  |
+---+--+

这样打开它:

+---+--+
|      |
+---+  +
|      |
|      |
+---+--+

请帮助FJ\red{FJ}确定他为实现目标必须移除的栅栏的最小总长度。

输入格式

输入的第一行包含 A\red{A}B\red{B}n\red{n }m(1\red{m (1≤}A,B\red{A,B≤}1,000,000,000).\red{1,000,000,000).}接下来的 n\red{n }行包含 a1\red{a1…}an\red{an,}接下来的 m\red{m }行包含 b1\red{b1…}bm\red{bm}

输出格式

请写下FJ\red{FJ}必须拆除的围栏的最小长度。

注意,这可能太大,无法容纳标准的32\red{32}位整数,因此您可能需要使用64\red{64}位整数类型(例如,C/C++\red{C/C++}中的"longlong\red{long-long}")。

样例

输入样例

15 15 5 2
2
5
10
6
4
11
3

输出样例

44