#2736. 卡片去重

卡片去重

题目描述

小 Y 有 n n 张卡片,每张卡片上都有一个数字,第 i i 张卡片的数字为 ai a_i

为了让卡片上的数字互不相同,小 Y 必须拿走一些卡片。为此,他决定从按照如下方式取走卡片:

  • 每次从卡片的开头拿走 3 3 张卡片,如果卡片不足 3 3 张,则拿走所有卡片。

注意,如果拿走了所有卡片,也算剩余卡片互不相同。

请问,按照上述方式,小 Y 最少需要拿走多少张卡片,才能使剩下的卡片上的数字互不相同?

输入格式

第一行一个整数 n n ,表示卡片的数量。

第二行 n n 个整数 a1,a2,,an a_1, a_2, \cdots, a_n ,表示每张卡片上的数字。

输出格式

输出一个整数,表示小 Y 最少需要拿走多少张卡片,才能使剩下的卡片上的数字互不相同。

样例

输入样例1

9
5 2 1 3 5 4 3 5 7

输出样例1

6  

样例解释:第一次取走前 3 3 张卡片,剩下 6 6 张卡片,数字为 3,5,4,3,5,7 3,5,4,3,5,7 ,存在重复。第二次取走前 3 3 张卡片,剩下 3 3 张卡片,数字为 3,5,7 3,5,7 ,其中没有重复的数字。共取走前 6 6 张卡片。

数据范围

对于 40% 40\% 的数据,1n100 1 \leq n \leq 100 1ai100 1 \le a_i \le 100

对于 70% 70\% 的数据,1n5×103 1 \leq n \leq 5 \times 10^3

对于 100% 100\% 的数据,1n2×105 1 \leq n \leq 2 \times 10^5 1ai2×105 1 \le a_i \le 2 \times 10^5