#include<bits/stdc++.h>#include<bits/extc++.h>usingnamespace std;#define _rep(i, a, b) for (int i = (a); i <= (b); ++i)#define _rev(i, a, b) for (int i = (a); i >= (b); --i)#define _for(i, a, b) for (int i = (a); i < (b); ++i)#define _rof(i, a, b) for (int i = (a); i > (b); --i)#define oo 0x3f3f3f3f#define ll long long#define db double#define eps 1e-8#define bin(x) cout << bitset<10>(x) << endl;#define what_is(x) cerr << #x << " is " << x << endl;#define met(a, b) memset(a, b, sizeof(a))#define all(x) x.begin(), x.end()#define pii pair<int, int>constint maxn =2e3+10;intnxt(){int ret;scanf("%d",&ret);return ret;}int val[2][maxn];
string a;voidLIS(string w,int st,int s){int max0 =0;int max1 =0;_for(i, st, w.size()){if(w[i]=='0')max0++;else
max1 =max(max0, max1)+1;
val[s][i]=max(max0, max1);}}intmain(){
ios::sync_with_stdio(0);
cin >> a;
string t(a);for(int i = a.size()-1; i >=0; i--){if(a[i]=='1'){
t[i]='0';LIS(t, i,1);LIS(a, i,0);_for(j, i, a.size()){if(val[1][j]!= val[0][j]){
t[i]='1';break;}}}}
cout << t << endl;}
#include<bits/stdc++.h>#include<bits/extc++.h>usingnamespace std;#define _rep(i, a, b) for (int i = (a); i <= (b); ++i)#define _rev(i, a, b) for (int i = (a); i >= (b); --i)#define _for(i, a, b) for (int i = (a); i < (b); ++i)#define _rof(i, a, b) for (int i = (a); i > (b); --i)#define oo 0x3f3f3f3f#define ll long long#define db double#define eps 1e-8#define bin(x) cout << bitset<10>(x) << endl;#define what_is(x) cerr << #x << " is " << x << endl;#define met(a, b) memset(a, b, sizeof(a))#define all(x) x.begin(), x.end()#define pii pair<int, int>constint maxn =1e5+5;
string s;int dp[2][maxn];signedmain(){
cin >> s;for(int i = s.size()-1; i >=0; i--){if(s[i]=='1'){
dp[1][i]= dp[1][i +1]+1;
dp[0][i]= dp[0][i +1];}else{
dp[0][i]=max(dp[0][i +1], dp[1][i +1])+1;
dp[1][i]= dp[1][i +1];}}for(int i = s.size()-1; i >=0; i--){if(s[i]=='1'){if(dp[1][i]>= dp[0][i +1]+1){
s[i]='0';
dp[0][i]=max(dp[0][i], dp[0][i +1]+1);
dp[1][i]= dp[1][i +1];}}else{
dp[0][i]=max(dp[0][i +1], dp[1][i +1])+1;
dp[1][i]= dp[1][i +1];}}
cout << s << endl;}