Farmer John zauważył dziwną agorafobię wielu krów (lęk przed dużymi otwartymi przestrzeniami). Aby mniej bały się wypasu, dzieli pole pionowymi (północ–południe) i poziomymi (wschód–zachód) płotami na mniejsze obszary.
Pole jest prostokątem o narożnikach $(0,0)$ i $(A,B)$. FJ buduje $n$ pionowych płotów ($0 \leq n \leq 2000$) w różnych miejscach $a_1 \ldots a_n$ ($0 < a_i < A$), od $(a_i, 0)$ do $(a_i, B)$. Także $m$ poziomych ($0 \leq m \leq 2000$) w miejscach $b_1 \ldots b_m$ ($0 < b_i < B$), od $(0, b_i)$ do $(A, b_i)$. Każdy pionowy przecina każdy poziomy, tworząc $(n+1)(m+1)$ obszarów.
Zapomniał bram, więc krowy nie mogą wyjść z obszaru i wędrować po całym polu! Usunie części między sąsiednimi obszarami. Wybierze niektóre pary sąsiadów i usunie całą długość dzielącego płotu, aby przez otwory mogły dotrzeć wszędzie.
Na przykład taki układ:
+---+--+ | | | +---+--+ | | | | | | +---+--+
można otworzyć tak:
+---+--+ | | +---+ + | | | | +---+--+
Wyznacz najmniejszą łączną długość płotu do usunięcia, by osiągnąć cel.
Wejście
Pierwszy wiersz zawiera $A$, $B$, $n$, $m$ ($1 \leq A, B \leq 1,000,000,000$). Kolejne $n$ zawiera $a_1 \ldots a_n$, potem $m$ wierszy $b_1 \ldots b_m$.
Wyjście
Wypisz minimalną długość usunięcia. Może przekroczyć standardowe 32-bitowe całkowite; potrzebny może być typ 64-bitowy, np. long long w C/C++.
Przykład
Wejście 1
15 15 5 2 2 5 10 6 4 11 3
Wyjście 1
44
Autor: Brian Dean