\begin{problem}{X частей}{xpart.in}{xpart.out}{2 секунды}{256 мегабайт}

%Автор задачи: Евгений Замятин
%Автор условия: Григорий Шовкопляс

Во время традиционной прогулки дядя Паша нашел массив из $n$ чисел. По пути домой он 
встретил своего хорошего друга Гришаню. У Гришани был свой массив
с $X$ элементами. Вместе друзья решили пойти попить кофе, а также придумать, что делать с находкой. 

Гришаня сразу сообразил, что было бы очень забавно разбить массив дяди Паши на $X$ непустых частей, 
каждая из которых состоит из нескольких подряд идущих элементов.
Тогда дядя Паша сказал, что сумма каждой части
должна быть не меньше, чем соответствующий ей по номеру элемент массива Гришани. Это оказалось 
так весело, что друзья решили посчитать разности 
между суммами элементов в каждой части массива дяди Паши и 
элементами массива Гришани. Теперь они решили разбить массив на части так, чтобы 
сумма этих разностей была минимальной из возможных.

Массив слишком большой, чтобы посчитать минимальную возможную сумму разностей вручную, а 
ноутбука с собой ни у кого из друзей не оказалось, поэтому они просят вас помочь.
Вы должны написать программу, которая посчитает минимальную возможную сумму таких разностей.

\InputFile
В первой строке даны два числа $n$, $X$ ($1 \le n \le 10^5, 1 \le X \le 100$)~---
количество элементов в массиве дяди Паши и количество элементов в массиве Гришани соответственно.

Во второй строке содержаться разделенные пробелом $n$ чисел $a_i$ ($1 \le a_i \le 10^4$)~--- элементы массива дяди Паши.
В третьей строке содержаться разделенные пробелом $X$ чисел $b_i$ ($1 \le b_i \le 10^9$)~--- элементы массива Гришани.

\OutputFile
В первой строке выходного файла выведите минимальную возможную сумму. Если не существует такого разбиения, то выведите $-1$.
                                                   
\Examples
\begin{example}%
\exmp{
3 2
1 2 3
3 2
}{
1
}%
\exmp{
2 2
1 101
100 1
}{
-1
}%
\end{example}

\Note
В первом примере выгодно разбить массив, например, на части $\{1, 2\}$ и $\{3\}$

\Testing
Первая группа тестов состоит из тестов, для которых выполняется ограничение $X \le 3, n \le 100$. Баллы 
за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет $40$ баллов.

Вторая группа тестов состоит из тестов, для которых выполняется ограничение $X \le 100, n \le 10^5$. Баллы 
за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет $60$ баллов.

Обратите внимание на возможность узнать результат проверки вашего решения на всех группах тестов, кроме последней, 
нажав на ссылку <<\texttt{Request feedback}>> на вкладке <<\texttt{Runs}>>.

\end{problem}
