Вам дана последовательность степеней вершин дерева (степени всех его вершин в произвольном порядке). Среди всех деревьев с данной последовательностью степеней найдите дерево с наибольшим размером максимального паросочетания.
Входные данные
Первая строка входных данных содержит одно целое число $t$ ($1 \le t \le 100\,000$): количество тестовых случаев. Далее следуют описания $t$ тестовых случаев. Первая строка каждого тестового случая содержит одно целое число $n$ ($2 \le n \le 200\,000$): количество вершин. Следующая строка содержит $n$ целых чисел $d_1, d_2, \dots, d_n$ ($1 \le d_i \le n - 1$), задающих последовательность степеней дерева. Гарантируется, что $\sum d_i = 2(n - 1)$ и что существует хотя бы одно дерево с данной последовательностью степеней. Также гарантируется, что суммарное значение $n$ по всем тестовым случаям не превышает $200\,000$.
Выходные данные
Для каждого тестового случая выведите одно целое число: размер наибольшего максимального паросочетания среди всех деревьев с данной последовательностью степеней.
Примеры
Входные данные 1
2 10 1 1 2 2 2 2 2 2 2 2 5 4 1 1 1 1
Выходные данные 1
5 1
Примечание
В первом тестовом случае можно построить путь из 10 вершин; он будет иметь ту же последовательность степеней и наибольшее возможное максимальное паросочетание. Во втором тестовом случае единственным возможным деревом является звезда (одна вершина, соединенная со всеми остальными), и наибольшее паросочетание для него равно 1.