#include <bits/stdc++.h>
using namespace std;
struct print {
 public:
  static void lnrev(vector<int> x) {
    long long int n = x.size();
    for (int i = n - 1; i >= 0; i--) cout << x[i] << " ";
    cout << endl;
  }
  static void ln(vector<long long int> y) {
    long long int n = y.size();
    for (long long int i = 0; i < n; i++) cout << y[i] << " ";
    cout << endl;
  }
};
long long int SUM(vector<int> temp) {
  long long int ans = 0;
  for (long long int i = 0; i < temp.size(); i++) {
    ans += temp[i];
  }
  return ans;
}
long long int power(long long int x, long long int y, long long int p) {
  long long int res = 1;
  x = x % p;
  while (y > 0) {
    if (y & 1) res = ((res % p) * (x % p)) % p;
    y = y >> 1;
    x = (x * x) % p;
  }
  return res;
}
long long int gcd(long long int a, long long int b) {
  if (!a) return b;
  return gcd(b % a, a);
}
int findGCD(int a, int b, int c) {
  int arr[3];
  arr[0] = a;
  arr[1] = b;
  arr[2] = c;
  int result = arr[0];
  for (int i = 1; i < 3; i++) result = gcd(arr[i], result);
  return result;
}
vector<int> computeLPSArray(string pat) {
  int M = pat.size();
  vector<int> lps(M);
  int len = 0;
  lps[0] = 0;
  int i = 1;
  while (i < M) {
    if (pat[i] == pat[len]) {
      len++;
      lps[i] = len;
      i++;
    } else {
      if (len != 0) {
        len = lps[len - 1];
      } else {
        lps[i] = 0;
        i++;
      }
    }
  }
  return lps;
}
struct TreeNode {
  int val;
  TreeNode *left;
  TreeNode *right;
  TreeNode *next;
  TreeNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {}
};
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  string s;
  cin >> s;
  vector<int> A(s.size(), 0);
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == 'a') {
      if (i != 0) {
        if (A[i - 1] == 0) {
          reverse(s.begin(), s.begin() + i);
          A[i - 1] = 1;
        } else {
          reverse(s.begin(), s.begin() + i);
          A[i - 1] = 0;
        }
      }
      reverse(s.begin(), s.begin() + 1 + i);
      A[i] = 1;
    }
  }
  for (int i = 0; i < s.size(); i++) {
    cout << A[i] << " ";
  }
  cout << "\n";
  return 0;
}
