import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * * @author kuric10 */ public class More { /** * @param args the command line arguments */ public static void main(String[] args)throws IOException{ // TODO code application logic here BufferedReader input = new BufferedReader (new InputStreamReader(System.in)); String s; Integer z = 10; int c = 1; int cislo; int l; int cif; StringBuilder sb = new StringBuilder(); String pom; boolean jeKladne; boolean pridaj; char [] pole; int poz; // int pole[] = new int []{-2097152,1048576,-524288,262144,-131072,65536,-32768,16384,-8192,4096,-2048,1024,-512,256,-128,64,-32,16,-8,4,-2,1}; /*for (int i = 0; i < 20; i++) { System.out.println(Integer.toString(i, 2)); }*/ while((s=input.readLine())!=null){ if(s.equals("1")){ System.out.println("110"); continue; } if(s.equals("0")){ System.out.println("1"); continue; } if(s.charAt(s.length()-1)=='0'){ System.out.println(s.substring(0,s.length()-1)+"1"); }else{ sb.setLength(0); /* cislo = 0; l = s.length(); for (int i = 0; i < l; i++) { //cislo+=(s.charAt(i)-48)*pole[22-l+i]; }*/ pole = s.toCharArray(); jeKladne = false; if(pole.length%2==1)jeKladne = true; pridaj = false; for (int i = pole.length-1; i>=0; i-=2) { if(i==0)continue; if(pole[i-1]=='1' && pole[i]=='0'){ pole[i]='1'; pridaj = false; break; } if(pole[i-1]=='0' && pole[i]=='0'){ pole[i]='1'; pridaj=false; break; } if(pole[i-1]=='0' && pole[i]=='1'){ pole[i]='0'; pole[i-1]='1'; pridaj = true; } if(pole[i-1]=='1' && pole[i]=='1'){ pole[i]='0'; pole[i-1]='0'; pridaj=false; break; } } if(jeKladne){ sb.append('1'); } if(pridaj){ sb.append("10"); } for (int i = 0; i < pole.length; i++) { if(jeKladne){ jeKladne = false; continue; } sb.append(pole[i]); } pom = sb.toString(); poz = sb.indexOf("1"); // System.out.println(pom); if(poz==-1)System.out.println("0"); else{ System.out.println(pom.substring(poz)); } } } } }