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
#include <cstdio>
#include <map>

#define REP(a, n) for (int a = 0; a < (n); ++a)
#define FOR(a, b, c) for (int a = (b); a <= (c); ++a)

using namespace std;

//////////////////////

int N;
int wyn[300005];
map<int,int> M;

int main() {
    scanf("%d", &N);
    REP(a, N) {
        int b;
        scanf("%d", &b);
        M[b]++;
    }
    for (auto p : M) {
        int w = p.second;
        FOR(k, 1, w)
            wyn[k] += w/k*k;
    }
    FOR(k, 1, N)
        printf("%d%c", wyn[k], k==N?'\n':' ');
}