atcoder#ARC087A. [ABC082C] Good Sequence

[ABC082C] Good Sequence

Score : 300300 points

Problem Statement

You are given a sequence of positive integers of length NN, a=(a1,a2,...,aN)a = (a_1, a_2, ..., a_N). Your objective is to remove some of the elements in aa so that aa will be a good sequence.

Here, an sequence bb is a good sequence when the following condition holds true:

  • For each element xx in bb, the value xx occurs exactly xx times in bb.

For example, (3,3,3)(3, 3, 3), (4,2,4,1,4,2,4)(4, 2, 4, 1, 4, 2, 4) and ()() (an empty sequence) are good sequences, while (3,3,3,3)(3, 3, 3, 3) and (2,4,1,4,2)(2, 4, 1, 4, 2) are not.

Find the minimum number of elements that needs to be removed so that aa will be a good sequence.

Constraints

  • 1N1051 \leq N \leq 10^5
  • aia_i is an integer.
  • 1ai1091 \leq a_i \leq 10^9

Input

Input is given from Standard Input in the following format:

NN

a1a_1 a2a_2 ...... aNa_N

Output

Print the minimum number of elements that needs to be removed so that aa will be a good sequence.

4
3 3 3 3
1

We can, for example, remove one occurrence of 33. Then, (3,3,3)(3, 3, 3) is a good sequence.

5
2 4 1 4 2
2

We can, for example, remove two occurrences of 44. Then, (2,1,2)(2, 1, 2) is a good sequence.

6
1 2 2 3 3 3
0
1
1000000000
1

Remove one occurrence of 10910^9. Then, ()() is a good sequence.

8
2 7 1 8 2 8 1 8
5