import sys
from collections import Counter
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
d = Counter()
for v in a:
    d[v] += 1
ll = sorted(d.values(), reverse=True)
# print(ll)
s = 0
e = len(ll)-1
r = 0
while s <= e:
    if ll[s] <= 0:
        break
    if ll[s] == 1:
        r += e-s+1
        break
    m = ll[s] - 1
    while m > 0 and e > s:
        if ll[e] <= m:
            m -= ll[e]
            e -= 1
        else:
            ll[e] = ll[e] - m
            break
    s += 1
    r += 1
print(r)
        1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35  | import sys from collections import Counter n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) d = Counter() for v in a: d[v] += 1 ll = sorted(d.values(), reverse=True) # print(ll) s = 0 e = len(ll)-1 r = 0 while s <= e: if ll[s] <= 0: break if ll[s] == 1: r += e-s+1 break m = ll[s] - 1 while m > 0 and e > s: if ll[e] <= m: m -= ll[e] e -= 1 else: ll[e] = ll[e] - m break s += 1 r += 1 print(r)  | 
            
        
                    English