#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;
}