#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 322;
const long long LINF = 2e18 + 474;
const int MAXN = 1e3 + 5;
const int MOD = 1e9 + 7;
const double eps = 1e-10;
int n, ans[MAXN];
vector<int> order;
string s, lex = "";
void solve() {
  string s;
  cin >> s;
  n = (int)s.size();
  for (int i = 0; i < n; i++) {
    if (i == 0) {
      lex += s[i];
      order.push_back(i + 1);
    } else if (s[i] <= lex[0]) {
      lex = s[i] + lex;
      reverse((order).begin(), (order).end());
      order.push_back(i + 1);
      reverse((order).begin(), (order).end());
    } else {
      lex = lex + s[i];
      order.push_back(i + 1);
    }
  }
  for (int i = n - 1; i >= 0; i--) {
    int x = order.back();
    if (x != (int)order.size()) {
      ans[i] = 1;
      reverse((order).begin(), (order).end());
      order.pop_back();
    } else {
      ans[i] = 0;
      order.pop_back();
    }
  }
  for (int i = 0; i < n; i++) {
    cout << ans[i] << " ";
  }
}
int main() {
  if (!1) {
    freopen(
        "474"
        ".in",
        "r", stdin);
    freopen(
        "474"
        ".out",
        "w", stdout);
  }
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  setlocale(LC_ALL, "Russian");
  long long T = 1;
  while (T--) solve();
  return 0;
}
