B. Злой Monk
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

K1o0n, пустившись в празднование выздоровления, испек огромную $$$n$$$-метровую картофельную запеканку.

Оказывается, Noobish_Monk просто ненавидит картофель, поэтому он решил испортить блюдо K1o0n и порезал его на $$$k$$$ кусочков целой длины $$$a_1, a_2, \dots, a_k$$$ метров.

K1o0n был раздосадован, увидев такой террор. Благо все еще можно поправить, за одну операцию он может сделать одно из следующих действий:

  • Выбрать кусок длины $$$a_i \ge 2$$$ и разделить на два куска с длинами $$$1$$$ и $$$a_i - 1$$$. В результате этого действия количество кусков увеличится на $$$1$$$;
  • выбрать кусок $$$a_i$$$ и кусок $$$a_j=1$$$, где $$$i \ne j$$$, и соединить их в один кусок длины $$$a_i+1$$$. В результате этого действия количество кусков уменьшится на $$$1$$$.

Помогите K1o0n определить минимальное количество операций, которое ему предстоит сделать, чтобы склеить запеканку в один целый кусок длины $$$n$$$.

Например, если $$$n=5$$$, $$$k=2$$$, $$$a = [3, 2]$$$, то оптимально действовать следующим образом:

  1. Разделить кусок длины $$$2$$$ на куски длины $$$1$$$ и $$$2-1=1$$$, в результате $$$a = [3, 1, 1]$$$.
  2. Соединить кусок длины $$$3$$$ с куском длины $$$1$$$, в результате $$$a = [4, 1]$$$.
  3. Соединить кусок длины $$$4$$$ с куском длины $$$1$$$, в результате $$$a = [5]$$$.
Входные данные

Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

В первой строке каждого набора дано два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 10^9$$$, $$$2 \le k \le 10^5$$$) — длина картофельной запеканки в метрах и количество кусочков после пакости Noobish_Monk.

Во второй строке каждого набора содержится $$$k$$$ целых чисел $$$a_1, a_2, \ldots, a_k$$$ ($$$1 \le a_i \le n - 1$$$, $$$\sum a_i = n$$$) — длины кусочков, на которые Noobish_Monk разрезал изначальную запеканку.

Гарантируется, что сумма $$$k$$$ по всем $$$t$$$ наборам данных не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных, выведите минимальное количество операций, за которое K1o0n сможет восстановить свою запеканку после террора Noobish_Monk.

Пример
Входные данные
4
5 3
3 1 1
5 2
3 2
11 4
2 3 1 5
16 6
1 6 1 1 1 6
Выходные данные
2
3
9
15