#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000010;
long long int l_l[MAXN], r_l[MAXN], l_r[MAXN], r_r[MAXN];
long long int sumll[MAXN], sumlr[MAXN], sumrl[MAXN], sumrr[MAXN];
long long int ans[MAXN];
int main() {
  long long int n;
  cin >> n;
  string v;
  cin >> v;
  for (int i = 0; i < v.size(); i++) {
    if (v[i] == 'D')
      v[i] = 'L';
    else
      v[i] = 'R';
  }
  if (v[0] == 'L') {
    l_l[0] = 1;
  } else {
    r_l[0] = 1;
  }
  for (int i = 1; i < v.size(); i++) {
    if (v[i] == 'L') {
      l_l[i] = l_l[i - 1] + 1;
      r_l[i] = r_l[i - 1];
    } else {
      l_l[i] = l_l[i - 1];
      r_l[i] = r_l[i - 1] + 1;
    }
  }
  if (v[n - 1] == 'L') {
    l_r[n - 1] = 1;
  } else {
    r_r[n - 1] = 1;
  }
  for (int i = n - 2; i >= 0; i--) {
    if (v[i] == 'L') {
      l_r[i] = l_r[i + 1] + 1;
      r_r[i] = r_r[i + 1];
    } else {
      l_r[i] = l_r[i + 1];
      r_r[i] = r_r[i + 1] + 1;
    }
  }
  long long int indl = 1, indr = 1;
  if (v[0] == 'L') {
    sumll[1] = 0;
    indl++;
  } else {
    sumrl[1] = 0;
    indr++;
  }
  for (int i = 1; i < v.size(); i++) {
    if (v[i] == 'L') {
      sumll[indl] = sumll[indl - 1] + i;
      indl++;
    } else {
      sumrl[indr] = sumrl[indr - 1] + i;
      indr++;
    }
  }
  indl = 1;
  indr = 1;
  if (v[n - 1] == 'L') {
    sumlr[indl] = 0;
    indl++;
  } else {
    sumrr[indr] = 0;
    indr++;
  }
  for (int i = n - 2; i >= 0; i--) {
    if (v[i] == 'L') {
      sumlr[indl] = sumlr[indl - 1] + (n - i - 1);
      indl++;
    } else {
      sumrr[indr] = sumrr[indr - 1] + (n - i - 1);
      indr++;
    }
  }
  if (v[0] == 'L') {
    cout << 1 << ' ';
  } else {
    if (l_r[0] == 0) {
      cout << n << ' ';
    } else {
      cout << sumll[1] * 2 + 1 << ' ';
    }
  }
  if (n == 1) {
    cout << endl;
    return 0;
  }
  for (int i = 1; i < n - 1; i++) {
    if (v[i] == 'L') {
      if (r_l[i - 1] <= l_r[i + 1]) {
        long long int numberofl = l_l[i] + r_l[i];
        long long int numberofr = r_r[i] + r_l[i];
        long long int cost1 =
            2 * (sumll[numberofl] - sumll[l_l[i]] - ((i)*r_l[i]));
        long long int cost2 =
            2 * (sumrr[numberofr] - sumrr[r_r[i]] - ((n - i - 1) * r_l[i]));
        cout << cost1 + cost2 + (i + 1) << ' ';
      } else {
        long long int numberofr = r_r[i] + l_r[i + 1] + 1;
        long long int numberofl = l_r[i + 1] + l_l[i];
        long long int cost1 =
            2 * (sumll[numberofl] - sumll[l_l[i]] - ((i)*l_r[i + 1]));
        long long int cost2 = 2 * (sumrr[numberofr] - sumrr[r_r[i]] -
                                   ((n - i - 1) * (l_r[i + 1] + 1)));
        cout << cost1 + cost2 + (n - i) << ' ';
      }
    } else {
      if (l_r[i] <= r_l[i - 1]) {
        long long int numberofl = l_r[i] + l_l[i];
        long long int numberofr = r_r[i] + l_r[i];
        long long int cost1 =
            2 * (sumll[numberofl] - sumll[l_l[i]] - ((i)*l_r[i]));
        long long int cost2 =
            2 * (sumrr[numberofr] - sumrr[r_r[i]] - ((n - i - 1) * l_r[i]));
        cout << cost1 + cost2 + (n - i) << ' ';
      } else {
        long long int numberofr = r_l[i - 1] + r_r[i];
        long long int numberofl = l_l[i] + r_l[i - 1] + 1;
        long long int cost1 =
            2 * (sumll[numberofl] - sumll[l_l[i]] - ((i) * (r_l[i - 1] + 1)));
        long long int cost2 =
            2 * (sumrr[numberofr] - sumrr[r_r[i]] - ((n - i - 1) * r_l[i - 1]));
        cout << cost1 + cost2 + (i + 1) << ' ';
      }
    }
  }
  if (v[n - 1] == 'R') {
    cout << 1 << ' ';
  } else {
    if (r_l[n - 1] == 0) {
      cout << n << ' ';
    } else {
      cout << 2 * sumrr[1] + 1 << ' ';
    }
  }
  cout << endl;
}
