#include <bits/stdc++.h> #define ll long long int #define ld long double using namespace std; void mainSolve() { int n; string s; cin >> n >> s; vector<vector<int>> v(26); for (int i = 0; i < n;) { int j = i; while (j < n && s[j] == s[i]) ++j; int cnt = j - i; v[s[i] - 'a'].push_back(cnt); i = j; } for (int i = 0; i < 26; i++) { sort(v[i].begin(), v[i].end(), greater<ll>()); } vector<int> dp(n + 1, 0); for (int i = 0; i < 26; i++) { int past = 0; for (int j = 0; j < v[i].size(); j++) { int now = v[i][j]; dp[j] = max(dp[j], past + now); past += now; } } for (int i = 1; i <= n; i++) dp[i] = max(dp[i], dp[i - 1]); for (int i = 0; i <= n; i++) cout << dp[i] << ' '; cout << endl; } int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int t; cin >> t; while (t--) { mainSolve(); } return 0; }