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