#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n;
  string s;
  cin >> n >> s;
  int nb = 0, nw = 0;
  for (auto ai : s) {
    if (ai == 'B') {
      nb++;
    } else {
      nw++;
    }
  }
  if (nb & 1 && nw & 1) {
    cout << -1;
    return 0;
  }
  vector<int> ve;
  if (!(nb & 1) && !(nw & 1)) {
    for (int i = 0; i < n - 1; i++) {
      if (s[i] == 'B' && s[i + 1] == 'B') {
        ve.emplace_back(i);
        i++;
      } else if (s[i] == 'B') {
        swap(s[i], s[i + 1]);
        ve.emplace_back(i);
      }
    }
  } else if (nb & 1) {
    for (int i = 0; i < n - 1; i++) {
      if (s[i] == 'B' && s[i + 1] == 'B') {
        s[i] = s[i + 1] = 'W';
        ve.emplace_back(i++);
      } else if (s[i] == 'B') {
        swap(s[i], s[i + 1]);
        ve.emplace_back(i);
      }
    }
    for (int i = 0; i < n - 1; i++) {
      if (s[i] == 'W' && s[i + 1] == 'W') {
        ve.emplace_back(i);
        i++;
      }
    }
  } else {
    for (int i = 0; i < n - 1; i++) {
      if (s[i] == 'W' && s[i + 1] == 'W') {
        s[i] = s[i + 1] = 'B';
        ve.emplace_back(i++);
      } else if (s[i] == 'W') {
        swap(s[i], s[i + 1]);
        ve.emplace_back(i);
      }
    }
    for (int i = 0; i < n - 1; i++) {
      if (s[i] == 'B' && s[i + 1] == 'B') {
        ve.emplace_back(i);
        i++;
      }
    }
  }
  cout << ve.size() << '\n';
  for (auto ai : ve) {
    cout << ai + 1 << ' ';
  }
  return 0;
}
