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
import sys
import math

n=int(input())
lisa=[int(x) for x in input().strip().split()]
lisa=sorted(lisa)
seta=set(lisa)
misa=sorted(list(seta))
freqa,a,occupied=[],1,[]
for i in range(1,n):
    #print(lisa[i])
    if(lisa[i-1]==lisa[i]):
        a+=1
    else:
        #print(i,lisa[i])
        freqa.append(a)
        a=1
freqa.append(a)
#print(misa)
#print(freqa)
suma,j=0,0
start=freqa[j]
for i in range(1,len(freqa)):
    if(suma+freqa[i]<start):
        suma+=freqa[i]
    elif(suma+freqa[i]==start):
        suma+=freqa[i]
        occupied.append(suma)
        suma=0
        j+=1
        start=freqa[j]
    else:
        occupied.append(start)
        suma=freqa[i]-(start-suma)
        j+=1
        start=freqa[j]
print(sum(occupied))