#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000007;
const double eps = 0.00000001;
int N;
int deg[1005];
int A[1005];
string L;
void dfs(int cur, int value, int fa) {
  A[cur] = max(A[cur], value);
  if (cur + 1 < N && cur + 1 != fa) {
    if (L[cur] == '=')
      dfs(cur + 1, value, cur);
    else if (L[cur] == 'R')
      dfs(cur + 1, value + 1, cur);
  }
  if (cur - 1 >= 0 && cur - 1 != fa) {
    if (L[cur - 1] == '=')
      dfs(cur - 1, value, cur);
    else if (L[cur - 1] == 'L')
      dfs(cur - 1, value + 1, cur);
  }
  return;
}
int main() {
  while (cin >> N) {
    cin >> L;
    memset(deg, 0, sizeof(deg));
    for (int i = 0; i < N; i++) A[i] = -INF;
    for (int i = 0; i < L.length(); i++) {
      if (L[i] == 'L')
        deg[i]++;
      else if (L[i] == 'R')
        deg[i + 1]++;
    }
    for (int i = 0; i < N; i++) {
      if (!deg[i]) dfs(i, 1, -4);
    }
    for (int i = 0; i < N; i++) {
      if (i) printf(" ");
      printf("%d", A[i]);
    }
    printf("\n");
  }
  return 0;
}
