Надіслати розв'язок

Бали: 15
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

Назар отримав спадщину - велике поле розділене прямими огорожами з півночі на південь (вертикальні) та зі сходу на захід (горизонтальні).

Поле являє собою прямокутник з вершинами в точках \((0,0)\) та \((A, B)\). Вертикальних огорож є \(n\) і вони мають різні позиції \(a_1 ... a_n\);

кожна огорожа проходить від точки \((a_i, 0)\) до точки \((a_i, B)\). Горизонтальних огорож є \(m\) в різних позиціях \(b_1 ... b_m\);

кожна огорожа, проходить з \((0, b_i)\) до \((A, b_i)\). Кожна вертикальна огорожа перетинається з кожною горизонтальною, поділяючи поле на \((n + 1)*(m + 1)\) ділянок.

Назар хоче забрати на деяких сусідніх ділянках перегородки так, щоб можна було обійти всі ділянки.

Допоможіть Назару знайти мінімальну сумарну довжину перегородок, які треба для цього видалити.

Формат вхідних даних

Перший рядок містить цілі числа \(A, B, n, m\) \((1 \le A,B \le 10^9, 0 \le n, m \le 25 ·10^3)\).

Наступні \(n\) рядків містять \(a_1 ... a_n\) \((0 < a_i < A)\).

Далі ідуть \(m\) рядків, які містять \(b_1 ... b_m\) \((0 < b_i < B)\).

Формат вихідних даних

Виведіть одне ціле число - мінімальну сумарну довжину видалених перегородок.

Приклад вхідних даних

10 10 1 2
2
9
3

Приклад вихідних даних

14

Коментарі

Ще немає коментарів.