#1047. 选择测试(test.cpp)

选择测试(test.cpp)

题目描述

集训第三天,小泽正在进行一场包含 4n4n 个问题的测试;

每个问题都有4个选项:'A','B','C'和'D'。对于每个选项,都有恰好nn个与之对应的正确答案——这意味着有nn个问题的正确答案是'A',nn个问题的正确答案是'B',nn个问题的正确答案是'C',以及nn个问题的正确答案是'D'。

小泽针对每个问题写下了他的答案在答题纸上。如果他无法确定答案,他会在那个问题上留下一个问号'?'。

他给到了你他写的由 4n4n 个字符组成的答题纸。请问小泽能够获得的最多正确答案数量是多少?

输入格式

第一行包含一个整数n1n100n (1≤n≤100)

第二行包含一个长度为4n4n的字符串ssiA,B,C,D,?s(si∈{A,B,C,D,?})——小泽针对各个问题的答案。

输出格式

对于每个测试用例,输出一个整数——蒂姆能够获得的最多分数。

样例 #1

样例输入 #1

1
ABCD

样例输出 #1

4

样例 #2

样例输入 #2

2
AAAAAAAA

样例输出 #2

2

样例 #3

样例输入 #3

2
AAAABBBB

样例输出 #3

4

样例 #4

样例输入 #4

2
????????

样例输出 #4

0

提示

对于 30%30\% 的数据,字符串 ss 中全都是一样的字符;

对于 40%40\% 的数据,nn 的值为1;

对于 100% 100 \% 的数据,1n1001≤n≤100 ,字符串$s(si∈{A,B,C,D,?})

样例解释:

样例1:每个答案(‘A’,‘B’,‘C’ 和 ‘D’)恰好有一个问题;因此,小泽有可能将所有问题的答案都答对。

样例2:只有两个正确答案是 ‘A’,因此无论如何他最多只能得到 2 分。

样例3:小泽最多可以获得 2 个 ‘A’ 的正确答案和 2 个 ‘B’ 的正确答案。例如,如果答案是 ‘AACCBBDD’,他将获得 4 分。

样例4:他拒绝回答任何问题,因此得分为 0 分。