You are given an array of integers. Vasya can permute (change order) its integers. He wants to do it so that as many as possible integers will become on a place where a smaller integer used to stand. Help Vasya find the maximal number of such integers.

For instance, if we are given an array $[10, 20, 30, 40]$, we can permute it so that it becomes $[20, 40, 10, 30]$. Then on the first and the second positions the integers became larger ($20&gt;10$, $40&gt;20$) and did not on the third and the fourth, so for this permutation, the number that Vasya wants to maximize equals $2$. Read the note for the first example, there is one more demonstrative test case.

Help Vasya to permute integers in such way that the number of positions in a new array, where integers are greater than in the original one, is maximal.
The first line contains a single integer $n$ ($1 \leq n \leq 10^5$) — the length of the array.

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \leq a_i \leq 10^9$) — the elements of the array.
7
10 1 1 1 5 5 3
4
5
1 1 1 1 1
0
6
300000000 200000000 300000000 200000000 1000000000 300000000
3
10
1 2 3 4 5 6 7 8 9 10
9
1
1
0
7
3 5 2 2 5 2 4
4
5
1 5 4 2 3
4
from collections import defaultdict


n = int(input())

nums = [int(num) for num in input().split(" ")]
nums.sort()

left, right = 0, 1

res = 0
while right < n:
    if nums[right] > nums[left]:
        res += 1
        left += 1
        right += 1
    else:
        right += 1
print(res)
# m= defaultdict(int)

# for num in nums:
#     m[num] += 1
    
# sorted_nums = sorted(list(m.keys()))
# m_copy = m.copy()

# left, right = 0, 1
# res = 0
# while right < len(sorted_nums):
#     # print(left, right)
#     smaller = sorted_nums[left]
#     bigger = sorted_nums[right]
#     move = min(m[smaller], m[bigger])
#     if m[smaller] == move:
#         left += 1
#     if m[bigger] == move:
#         right += 1
#     res += move
# print(res)
    