Олимпиадный тренинг

Задача . A. Двойки


Задача

Темы: реализация *800

Кинич просыпается к началу нового дня. Он включает свой телефон, проверяет почту и находит загадочный подарок. Он решает распаковать подарок.

Кинич распаковывает массив \(a\) из \(n\) целых чисел. Изначально счет Кинича равен \(0\). Он будет выполнять следующую операцию любое количество раз:

  • Выберите такие два индекса \(i\) и \(j\) \((1 \leq i < j \leq n)\), что ни \(i\), ни \(j\) не были выбраны в каких-либо предыдущих операциях, и \(a_i = a_j\). Затем добавьте \(1\) к своему счету.

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

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

Первая строка содержит целое число \(t\) (\(1 \leq t \leq 500\)) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит целое число \(n\) (\(1 \leq n \leq 20\)) — длина массива \(a\).

Следующая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq n\)), разделенных пробелами.

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

Для каждого набора входных данных выведите максимальный счет, который можно достичь на новой строке.

Примечание

В первом и третьем тестах Кинич не может выполнить никаких операций.

Во втором тесте Кинич может выполнить одну операцию с \(i=1\) и \(j=2\).

В четвертом тесте Кинич может выполнить одну операцию с \(i=1\) и \(j=4\).


Примеры
Входные данныеВыходные данные
1 5
1
1
2
2 2
2
1 2
4
1 2 3 1
6
1 2 3 1 2 3
0
1
0
1
3

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя