B. Раздражительный призрак
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Призрак Джа играет с резиновыми утятами. У него есть $$$n$$$ кучек резиновых утят, расставленных в ряд, где $$$i$$$-я кучка содержит $$$a_i$$$ утят. Утёнок Кряк даёт Призраку Джа строго возрастающую последовательность $$$b_1,b_2,\ldots,b_n$$$ и приказывает ему сделать так, чтобы кучки $$$a_1,a_2,\ldots,a_n$$$ стали ровно этой последовательностью.

Процесс, который выполняет Джа, состоит из следующих двух этапов:

  1. Джа может добавить любое количество утят в каждую кучку.

    Формально, для каждой кучки $$$i$$$ он выбирает целое неотрицательное число $$$x_i$$$ и заменяет $$$a_i$$$ на $$$a_i+x_i$$$.

  2. Джа может многократно менять местами две соседние кучки.

    Формально, он может выполнять следующую операцию любое количество раз, возможно ноль: выбрать индекс $$$i$$$ такой, что $$$1\le i\le n-1$$$, и поменять местами значения $$$a_i$$$ и $$$a_{i+1}$$$.

Процесс называется допустимым, если после завершения обоих этапов последовательность размеров кучек равна ровно $$$b_1,b_2,\ldots,b_n$$$.

Найдите минимально возможное количество операций, выполненных на втором этапе, среди всех допустимых процессов. Если допустимого процесса не существует, выведите $$$-1$$$.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 2000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит целое число $$$n$$$ ($$$1\le n\le 2000$$$) — количество кучек резиновых утят.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1\le a_i\le 10^9$$$) — начальное количество резиновых утят в каждой кучке.

Третья строка содержит $$$n$$$ целых чисел $$$b_1,b_2,\ldots,b_n$$$ ($$$1\le b_1 \lt b_2 \lt \cdots \lt b_n\le 10^9$$$) — конечное количество резиновых утят в каждой кучке.

Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2000$$$.

Выходные данные

Для каждого набора входных данных выведите единственное целое число — минимально возможное количество операций, выполненных на втором этапе, среди всех допустимых процессов. Если допустимого процесса не существует, выведите $$$-1$$$.

Пример
Входные данные
10
3
1 2 2
1 3 5
3
2 2 1
1 2 3
2
5 1
2 4
6
6 5 4 3 2 1
1 2 3 4 5 6
7
4 7 1 6 2 5 3
1 2 3 4 5 6 7
2
2 1
2 3
4
3 2 2 1
1 2 3 4
4
4 3 2 1
1 3 4 5
5
1 5 4 3 2
2 3 4 5 6
5
10 3 8 6 9
3 6 8 9 10
Выходные данные
0
2
-1
15
12
0
4
4
3
5
Примечание

В первом наборе входных данных Джа нужен только первый этап. Он может выбрать $$$x_1=0,x_2=1,x_3=3$$$, тогда кучки становятся $$$1,3,5$$$. Обмены не нужны, поэтому ответ равен $$$0$$$.

Во втором наборе входных данных Джа нужны оба этапа. Он может выбрать $$$x_1=0,x_2=1,x_3=0$$$, тогда кучки становятся $$$2,3,1$$$. Затем он может выполнить два обмена: $$$$$$ [2,3,1]\to [2,1,3]\to [1,2,3]. $$$$$$ Кучка с $$$1$$$ утёнком должна переместиться с третьей позиции на первую, поэтому необходимо не менее двух обменов. Следовательно, ответ равен $$$2$$$.

В третьем наборе входных данных это невозможно. Первая кучка изначально содержит $$$5$$$ утят, но каждое число в целевой последовательности не превышает $$$4$$$. Поскольку Джа может только добавлять утят и не может их убирать, эта кучка не может стать равной ни одному числу в целевой последовательности. Следовательно, ответ равен $$$-1$$$.

В четвёртом наборе входных данных утят добавлять не нужно. Джа нужно лишь переставить кучки в порядке возрастания. Минимальное количество соседних обменов равно $$$15$$$.

В пятом наборе входных данных утят добавлять не нужно. Снова Джа нужно лишь переставить кучки в порядке возрастания. Минимальное количество соседних обменов равно $$$12$$$.