#include <bits/stdc++.h>
using namespace std;
inline long long Readint() {
  long long ret = 0;
  int f = 1;
  char ch;
  do {
    ch = getchar();
    if (ch == '-') f *= -1;
  } while (ch >= 0 && (ch < '0' || ch > '9'));
  while ('0' <= ch && ch <= '9') {
    ret = ret * 10 + ch - '0';
    ch = getchar();
  }
  return ret * f;
}
void open() {
  freopen("E.in", "r", stdin);
  freopen("E.out", "w", stdout);
}
void close() {
  fclose(stdin);
  fclose(stdout);
}
const int MAXN = 101010;
set<int> sp[2];
char s[MAXN];
vector<int> ans;
int n;
void init() {
  int cntl = 0, cntr = 0;
  scanf("%s", s + 1);
  n = strlen(s + 1);
  for (int i = 1, _END_ = n; i <= _END_; i++)
    if (s[i] == 'L')
      cntl++;
    else
      cntr++;
  if (cntl < cntr || (cntl == cntr && s[1] == 'R')) {
    for (int i = 1, _END_ = n; i <= _END_; i++)
      if (s[i] == 'L')
        s[i] = 'R';
      else
        s[i] = 'L';
  }
  for (int i = 1, _END_ = n; i <= _END_; i++)
    if (s[i] == 'L')
      sp[0].insert(i);
    else
      sp[1].insert(i);
}
void work() {
  int type = 0;
  set<int>::iterator now;
  int num = 0;
  int tot = 0;
  now = sp[0].begin();
  num = *now;
  sp[0].erase(now);
  for (int i = 1, _END_ = n; i < _END_; i++) {
    ans.push_back(num);
    now = sp[type ^ 1].lower_bound(num);
    if (now == sp[type ^ 1].end()) {
      tot++;
      now = sp[type ^ 1].begin();
      num = *now;
      sp[type ^ 1].erase(num);
      type ^= 1;
    } else {
      if (sp[type].lower_bound(*now) == sp[type].end()) {
        int mn = 0x3f3f3f3f;
        if (sp[0].begin() != sp[0].end()) mn = min(mn, *sp[0].begin());
        if (sp[1].begin() != sp[1].end()) mn = min(mn, *sp[1].begin());
        if (mn < num && s[mn] != s[num]) {
          tot++;
          num = mn;
          sp[type ^ 1].erase(num);
          type ^= 1;
          continue;
        }
      }
      num = *now;
      sp[type ^ 1].erase(num);
      type ^= 1;
    }
  }
  ans.push_back(num);
  printf("%d\n", tot);
  for (int i = 0, _END_ = ans.size(); i < _END_; i++) printf("%d ", ans[i]);
}
int main() {
  int _ = 0;
  init();
  work();
  close();
  return 0;
}
