За огорожею (Платина)#10590

За огорожею (Платина)

1 секунда
128 мегабайтів
Дуже складна

Фермер Джон помітив, що багато його корів чомусь страждають на агорафобію (тобто бояться великих відкритих просторів). Щоб корови менше боялися випасатися, він розділяє своє велике поле на кілька невеликих ділянок, встановлюючи вертикальні (північ-південь) та горизонтальні (схід-захід) огорожі.

Велике поле являє собою прямокутник з кутовими точками та . Фермер Джон встановлює вертикальних огорож у різних положеннях a_1, \ldots, a_n~(0 < a_i < a); кожна огорожа проходить від точки (a_i, 0) до точки (a_i, b). Також він встановлює горизонтальних огорож у положеннях b_1, \ldots, b_m~(0 < b_i < b); кожна така огорожа проходить від точки (0, b_i) до точки (a, b_i). Кожна вертикальна огорожа перетинає кожну горизонтальну огорожу, розділяючи велике поле загалом на (n + 1) \times (m + 1) ділянок.

На жаль, Фермер Джон зовсім забув зробити ворота у своїх огорожах, через що корови не можуть покинути свої огороджені ділянки та переміщатися по всьому полю! Він хоче виправити цю ситуацію, видаливши частини деяких огорож, щоб дозволити коровам переміщатися між сусідніми ділянками. Він хоче вибрати певні пари сусідніх ділянок і повністю видалити частину огорожі, що їх розділяє. Після цього він хоче, щоб корови могли проходити крізь утворені прорізи та вільно переміщатися у будь-яку точку великого поля.

Наприклад, Фермер Джон може почати з такої схеми розташування огорож:

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

та відкрити проходи наступним чином:

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

Допоможіть Фермеру Джону визначити мінімальну суммарну довжину огорож, яку необхідно видалити, щоб досягти своєї мети.

Вхідні дані

У першому рядку містяться чотири цілих числа a, b~(1 \le a, b \le 10^9), n~(0 \le n \le 25000) та m~(0 \le m \le 25000). У наступних рядках містяться значення a_1, \ldots, a_n, а у наступних рядках — значення b_1, \ldots, b_m.

Вихідні дані

Виведіть мінімальну суммарну довжину огорож, яку необхідно видалити Фермеру Джону. Зверніть увагу, що це значення може бути занадто великим, щоб поміститися у стандартний -бітний цілочисельний тип, тому може знадобитися використати -бітний цілочисельний тип.

Приклади

Приклад 1

Loading
Loading