'use strict';

function Main(input) {
  const N = Number(input);
  const numlist = [1,-2,4,-8,16,-32,64,-128,256,-512,1024,-2048,4096,-8192,16384,-32768,65536,-131072,262144,-524288,1048576,-2097152,4194304,-8388608,16777216,-33554432,67108864,-134217728,268435456,-536870912];
  let total = 0;

  for(let i=0; i<1000000000000; i++) {
    let torf = i.toString(2).split('').map(x => Number(x));
    for(let j=0; j<torf.length; j++) {
      total += numlist[j] * torf[j];
    }
    if(total === N) {
      console.log(torf.reverse().join(''));
      break;
    } else {
      total = 0;
    }
  }

  // let f = 0;
  // while(f == 160) {
  //   torf[Math.floor(Math.random() * 4)] = Math.abs(torf[Math.floor(Math.random() * 4)] - 1);
  //   f++;
  // 
  //   for(let i=0; i<4; i++) {
  //     total += torf[i] * numlist[i];
  //   }
  // 
  //   if(total === N) {
  //     console.log(torf);
  //     break;
  //   } else {
  //     console.log(total);
  //     total = 0;
  //   }
  // }
  // 
};

Main(require("fs").readFileSync("/dev/stdin", "utf8").trim());
