import java.math.BigInteger;
import java.util.Scanner;


public class More {
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext()) {
			String str=sc.nextLine();
			System.out.println(write(load(str).add(BigInteger.ONE)));
		}
	}
	
	static BigInteger load(String str) {
		int length=str.length();
		BigInteger value= BigInteger.ZERO;
		BigInteger base = BigInteger.valueOf(-2);
		BigInteger j = BigInteger.ONE;
		
		
		for(int i=length-1;i>=0;i--){
			if(str.charAt(i)=='1'){
				value=value.add(j);
			}
			j=j.multiply(base);
		}
		return value;
	}
	
	static String write(BigInteger big) {
		StringBuilder sb = new StringBuilder();
		BigInteger base = BigInteger.valueOf(-2);
		if(big.compareTo(BigInteger.ZERO) == 0) return "0";
		while(big.compareTo(BigInteger.ZERO) != 0) {
			BigInteger[] res = big.divideAndRemainder(base);
			big = res[0];
			//System.out.println(res[0] + " - " + res[1]);
			if(res[1].compareTo(BigInteger.ZERO) == 0) sb.append('0');
			else {
				if(res[1].compareTo(BigInteger.ONE.negate()) == 0)
					big = big.add(BigInteger.ONE); 
				sb.append('1');
			}
		}		
		return sb.reverse().toString();
	}
}
