D. Непересекающееся разделение
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Обозначим за $$$f(x)$$$ функцию от строки $$$x$$$, равную числу различных символов, содержащихся в строке. Например, $$$f(\texttt{abc}) = 3$$$, $$$f(\texttt{bbbbb}) = 1$$$, а $$$f(\texttt{babacaba}) = 3$$$.

Дана строка $$$s$$$, разделите её на две непустых строки $$$a$$$ и $$$b$$$ таких, что $$$f(a) + f(b)$$$ максимально возможно. Другими словами, найдите наибольшее возможное значение $$$f(a) + f(b)$$$ такое, что $$$a + b = s$$$ (конкатенация строк $$$a$$$ и $$$b$$$ равна строке $$$s$$$).

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

Тест состоит из нескольких наборов входных данных. Первая строка содержит целое число $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — количество наборов входных данных. Затем следуют описания наборов.

Первая строка каждого набора содержит целое число $$$n$$$ ($$$2 \leq n \leq 2\cdot10^5$$$) — длину строки $$$s$$$.

Вторая строка содержит строку $$$s$$$, состоящую из строчных латинских букв.

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

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

Для каждого набора входных данных выведите единственное целое число  — максимально возможное значение $$$f(a) + f(b)$$$ такое, что $$$a + b = s$$$.

Пример
Входные данные
5
2
aa
7
abcabcd
5
aaaaa
10
paiumoment
4
aazz
Выходные данные
2
7
2
10
3
Примечание

В первом наборе входных данных существует только один корректный способ разделить $$$\texttt{aa}$$$ на две непустых строки: $$$\texttt{a}$$$ и $$$\texttt{a}$$$. $$$f(\texttt{a}) + f(\texttt{a}) = 1 + 1 = 2$$$.

Во втором наборе, разделив $$$\texttt{abcabcd}$$$ на $$$\texttt{abc}$$$ и $$$\texttt{abcd}$$$ мы можем получить наибольший возможный ответ $$$f(\texttt{abc}) + f(\texttt{abcd}) = 3 + 4 = 7$$$

В третьем наборе не важно как мы разделим строку, ответ будет равен $$$2$$$ при любом разделении.