D - Evacuation Plan

Languages: C, C++, Java, Haskell, JavaScript, Pascal, Tiger, Python, C#
Time & Memory limits: (details)

Un ataque nuclear esta llegando!!!. Hay $n$ obreros trabajando en una construcción que se ubica sobre el eje $x$, cada uno de estos obreros esta en una posición $x_i$ $(x_i \leq 10^9)$.  Existen un total de $m$ refugios cada uno localizado en una posicion $r_i$ $(r_i \leq 10^9)$, la distancia recorrida por un obrero $i$ en la posición $x_i$ a un refugio $j$ en la posicion $r_j$ es $|x_i - r_j|$. Queremos asignar los obreros a los refugios minimizando la distancia total por favor ayudanos a encontrar el costo de la asignacion que minimiza la distancia total.

* Debe haber al menos un obrero en cada refugio!!!!

Input

La primera línea de la entrada consiste de un entero $n$ $(1 \leq n \leq 4000)$, la cantidad de obreros.
La siguiene línea contiene $n$ enteros, las posiciones de los obreros.
La siguiente línea de la entrada consiste de un entero $m$ $(1 \leq m \leq n \leq 4000)$, la cantidad de refugios.
La siguiene línea contiene $m$ enteros, las posiciones de los refugios.

Output

La salida debe ser un unico entero, la distancia total recorrida por todos los obreros en la asignacion óptima.

Sample test(s)

Input
3 1 2 3 2 2 10
Output
8