//
// Jan Zachar 12/03/2024
// Znaczki pocztowe [C, dz. 2] 
//
#include <iostream>
#include <map>
using namespace std;
int n, a;
map<int, int> M;
int dp[300006]{};
int main()
{
	ios_base::sync_with_stdio(0);
	cout.tie(0);
	cin.tie(0);
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> a;
		M[a]++;
	}
	for (auto &[u, p] : M) {
		for (int i = 1; i <= p; i++) dp[i] += p/i;
	}
	for (int i = 1; i <= n; i++) cout << dp[i]*i << ' ';
	cout << '\n';
	return 0;
}
        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  | // // Jan Zachar 12/03/2024 // Znaczki pocztowe [C, dz. 2] // #include <iostream> #include <map> using namespace std; int n, a; map<int, int> M; int dp[300006]{}; int main() { ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); cin >> n; for (int i = 0; i < n; i++) { cin >> a; M[a]++; } for (auto &[u, p] : M) { for (int i = 1; i <= p; i++) dp[i] += p/i; } for (int i = 1; i <= n; i++) cout << dp[i]*i << ' '; cout << '\n'; return 0; }  | 
            
        
                    English