fun pow(a:Int, b:Int):Long{
    var x=1L
    repeat(b){
        x*=a
    }
    return x
}

fun main(args: Array<String>) {
    val n=readLine()!!.toInt()
    var m=n.toLong()
    val s= mutableListOf<Int>()
    for(i in 0..32){
        if(m%pow(2,i+1)!=0L) {
            s+=1
            m -= pow(-2, i)
        }else{
            s+=0
        }

        if(m==0L) break
    }
    s.reversed().forEach {
        print(it)
    }
    println()
}
