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
def main():
    n = int (input())
    numeros = list(map(int,input().split()))
    numeros.sort()
    test = dict(zip(list(numeros),[list(numeros).count(i) for i in list(numeros)]))
    keys = list(test.keys())
    total=0
    # print(test)
    # if(n%2==1):
    #     test[keys[0]]-=1
    for i in range(0,len(keys)-1):
        if(test[keys[i]]==0):
            continue
        j=i+1
        while(not test[keys[i]]==0 and j<len(keys)):
            tmp = test[keys[i]]-test[keys[j]]
            total+=max(test[keys[i]],test[keys[j]])-abs(tmp)
            if(test[keys[i]] <= test[keys[j]]):
                test[keys[i]]=0
                test[keys[i+1]]=abs(tmp)
            else:
                test[keys[i]]=abs(tmp)
                test[keys[i+1]]=0
            j+=1
    # print(test)
    # print(total)
    # if(n%2==1 and len(keys)>1):
        
    #     total+=1

    # for i in range(0,len(keys)):
    #     total+=test[keys[i]]
    # print(test,total)
    print(total)
    















# def main():
#     n = int(input())
#     numeros = list(map(int,input().split()))
#     numeros.sort(reverse=True)
#     numeros.pop()
#     tmp = list(set(numeros))
#     if(len(tmp)>1):
#         print(len(tmp))
#     else:
#         print(0)
# def main():
#     n = int(input())
#     numeros = list(map(int,input().split()))
#     numeros.sort(reverse=True)
#     # print(numeros)
#     total=0
#     indicesCambiados=[]
#     for i in range(0,len(numeros)):
#         for j in range(i,len(numeros)):
#             if(numeros[i]>numeros[j] and not j in indicesCambiados):
#                 total+=1
#                 indicesCambiados.append(j)
#                 break
#     print(total)
#     # numeros.pop()
#     # tmp = list(set(numeros))
#     # if(len(tmp)>1):
#     #     print(len(tmp))
#     # else:
#     #     print(0)
# def main():
#     n = int(input())
#     numeros = list(map(int,input().split()))
#     numeros.sort(reverse=True)
#     # print(numeros)
#     total=0
#     for i in range(0,len(numeros)//2):
#         if(not numeros[i]== numeros[len(numeros)-i-1]):
#             total+=1
#     if(not len(numeros)%2==0):
#         # print(n//2)
#         # print(n//2+1)
#         # print(n-1)
#         if(numeros[n//2]<numeros[0] and numeros[n//2] >numeros[n-1]):
#             total+=1
#     print(total)
main()