#include <iostream>
#include <vector>
#include <string>
using namespace std;
 
vector<int> p(int maxVal) {
    vector<int> divCount(maxVal+1, 0);
    for (int d = 1; d <= maxVal; d++){
        for (int m = 2*d; m <= maxVal; m += d){
            divCount[m]++;
        }
    }
    return divCount;
}
 
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
 
    int tc;
    cin >> tc;
    const int MAX_N = 1000000;
    vector<int> divCount = p(MAX_N);
    
    while(tc--){
        int n;
        cin >> n;
        string s;
        cin >> s;
        int r = 0;
        char last = '\0';
 
        for (int i = 0; i < n; i++){
            if(i == 0 || s[i] != last){
                r++;  
            }
            last = s[i];
 
            int L = i + 1;
            int t = r - 1; 
            int countValid = 0;
 
            countValid += (L - t);
 
            if(r >= 2) {
                countValid += divCount[r];
            }
 
            cout << countValid << (i+1 == n ? "\n" : " ");
        }
    }
    return 0;
}