五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CF 1791D - Distinct Split

2023-07-03 09:22 作者:您是打尖兒還是住店呢  | 我要投稿

Let's denote the f(x) function for a string x as the number of distinct characters that the string contains. For example f(abc)=3, f(bbbbb)=1, and f(babacaba)=3.


Given a string s, split it into two non-empty strings a and b such that f(a)+f(b) is the maximum possible. In other words, find the maximum possible value of f(a)+f(b) such that a+b=s

?(the concatenation of string a and string b is equal to string s).

Input

The input consists of multiple test cases. The first line contains an integer t (1≤t≤104) — the number of test cases. The description of the test cases follows.

The first line of each test case contains an integer n (2≤n≤2?105) — the length of the string s.


The second line contains the string s, consisting of lowercase English letters.

It is guaranteed that the sum of n over all test cases does not exceed 2?105.

Output

For each test case, output a single integer? — the maximum possible value of f(a)+f(b) such that a+b=s.

Example

input

5

2

aa

7

abcabcd

5

aaaaa

10

paiumoment

4

aazz

output

2

7

2

10

3

Note

For the first test case, there is only one valid way to split aa into two non-empty strings a and a, and f(a)+f(a)=1+1=2.

For the second test case, by splitting abcabcd into abc and abcd we can get the answer of f(abc)+f(abcd)=3+4=7 which is maximum possible.

For the third test case, it doesn't matter how we split the string, the answer will always be 2.

-----------------------------------------

維護(hù)2個(gè)map先匯總當(dāng)前所有的字符串的distinct的數(shù)量,然后依次從前面開始遍歷,每次放進(jìn)一個(gè)新的map中,同時(shí)將之前舊的map的值-1,如果值等于0 了,那么就刪除這個(gè)key,

然后用max保存每次2個(gè)map的size。最后輸出即可,下面是代碼;


CF 1791D - Distinct Split的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
宁南县| 盐亭县| 高雄县| 吴川市| 廉江市| 南郑县| 景宁| 台南市| 涟水县| 蒲江县| 玉屏| 河曲县| 瑞安市| 惠州市| 蓝田县| 出国| 盖州市| 安溪县| 柘荣县| 秭归县| 长寿区| 商洛市| 静宁县| 盈江县| 华阴市| 青冈县| 大石桥市| 垣曲县| 文化| 志丹县| 轮台县| 昂仁县| 崇左市| 益阳市| 景德镇市| 望江县| 故城县| 晴隆县| 汤阴县| 宜兴市| 客服|