#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long long max_n = 1e2 + 5;
const long long log_n = 20;
const long long log_a = 35;
const long long inf = 2e9;
const long double eps = 1e-9;
void run() {
  long long n;
  cin >> n;
  string s;
  cin >> s;
  vector<long long> nxt0(n, n), nxt1(n, n);
  long long last = n;
  for (long long i = n - 1; i >= 0; --i) {
    if (s[i] == '0') last = i;
    nxt0[i] = last;
  }
  last = n;
  for (long long i = n - 1; i >= 0; --i) {
    if (s[i] == '1') last = i;
    nxt1[i] = last;
  }
  for (long long i = 0; i < n; ++i) {
    nxt0[i] -= i;
    nxt1[i] -= i;
  }
  vector<vector<long long>> mbo0(n + 1), mbo1(n + 1);
  for (long long i = 0; i < n;) {
    if (s[i] == '1') {
      i++;
      continue;
    }
    long long j = i;
    long long cnt = 0;
    while (i < n && s[i] != '1') {
      cnt++;
      mbo0[cnt].push_back(j);
      i++;
    }
  }
  for (long long i = 0; i < n;) {
    if (s[i] == '0') {
      i++;
      continue;
    }
    long long j = i;
    long long cnt = 0;
    while (i < n && s[i] != '0') {
      cnt++;
      mbo1[cnt].push_back(j);
      i++;
    }
  }
  for (long long len = 1; len <= n; ++len) {
    long long i = 0;
    long long it0 = 0, it1 = 0;
    long long ans = 0;
    while (i < n) {
      if (nxt0[i] >= len || nxt1[i] >= len) {
        i += len;
        ans++;
        continue;
      }
      while (it0 < mbo0[len].size() && mbo0[len][it0] < i) {
        it0++;
      }
      while (it1 < mbo1[len].size() && mbo1[len][it1] < i) {
        it1++;
      }
      long long mbok = 0;
      if (it0 < mbo0[len].size()) {
        i = mbo0[len][it0] + len;
        mbok++;
      }
      if (it1 < mbo1[len].size()) {
        if (mbok == 1)
          i = min(i, mbo1[len][it1] + len);
        else
          i = mbo1[len][it1] + len;
        mbok++;
      }
      if (mbok == 0) {
        break;
      }
      ans++;
    }
    cout << ans << ' ';
  }
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long t = 1;
  while (t--) run();
  return 0;
}
