#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  int n = s.length();
  int l = 0, r = 1, a = 0;
  unordered_map<char, int> mp;
  for (int i = 0; i < n; i++) {
    mp[s[i]]++;
  }
  while (r < n && n > 1) {
    if (s[l] == '0') {
      l++;
    } else if (s[l] == '1') {
      if (s[r] == '0') {
        swap(s[l], s[r]);
        l++, r++;
      } else if (s[r] == '2') {
        while (l < n && s[l] == '1') {
          l++;
        }
      } else {
        r++;
      }
    } else {
      if (s[r] == '1' && a == 0) {
        swap(s[l], s[r]);
        l++, r++;
      } else if (s[r] == '0' || (s[r] == '1' && a == 1)) {
        a = 1;
        if (mp['1'] > 0) {
          while (r < n && s[r] != '1') {
            r++;
          }
          if (r < n) {
            s.erase(r, 1);
            s.insert(l, "1");
          }
          l++;
          mp['1']--;
        } else {
          a = 0;
          while (l < n && s[l] == '2') {
            l++;
          }
        }
      } else {
        r++;
      }
    }
    if (l == r) {
      r++;
    }
  }
  cout << s << endl;
}
