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
# Wczytanie danych
n = int(input())
a = list(map(int, input().split()))

def count_stamps(n, a):
    # Utworzenie słownika z częstościami
    freq = {}
    for i in range(n):
        freq[a[i]] = freq.get(a[i], 0) + 1
    # Sortowanie słownika
    srt = sorted(freq.values(), key=lambda x: x, reverse=True)
    # Obliczenie wyniku
    res = [0] * n
    res[0] = sum(srt)
    for i in range(2, n+1):
        res[i-1] = 0
        j = 0
        while j < len(srt) and srt[j] // i > 0:
            res[i - 1] += (srt[j] // i) * i
            j += 1
        if res[i - 1] == 0:
            break
    return res

# Wywołanie funkcji
print(*count_stamps(n, a))