//////package volume7;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
public class Main { /// Fibinary Numbers --- UNSOLVED
static Map
<Integer, BigInteger
> fibo
;
fibo = fibo();
StringBuilder sb = new StringBuilder();
while(true) {
bigA = getDecimal(a, bigA);
bigB = getDecimal(b, bigB);
bigResult = bigResult.add(bigA).add(bigB);
sb.append("0" + "\n\n");
} else {
result = getFibinary(bigResult, result); /// get fibinay
sb.append(result + "\n\n");
}
if((line = br.readLine()) == null) break;
}
sb.deleteCharAt(sb.length() - 1);
}
int helper = 0;
for (int i = 100; i >= 1; i--) {
if (bigResult.compareTo(temp) >= 0) {
result = result + "1";
bigResult = bigResult.subtract(temp);
helper++;
} else if(helper > 0)
result = result + "0";
}
return result;
}
for (int i = 0; i < a.length(); i++) {
if (a.charAt(i) == '1') {
bigA = bigA.add(fibo.get(a.length() - i));
}
}
return bigA;
}
public static HashMap
<Integer, BigInteger
> fibo
() { HashMap
<Integer, BigInteger
> fibo
= new HashMap
<Integer, BigInteger
>(); for(int i = 3; i <= 100; i++) {
fibo.put(i, fibo.get(i-1).add(fibo.get(i-2)));
}
return fibo;
}
}
Ci8vLy8vL3BhY2thZ2Ugdm9sdW1lNzsKCmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkUmVhZGVyOwppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7CmltcG9ydCBqYXZhLm1hdGguQmlnSW50ZWdlcjsKaW1wb3J0IGphdmEudXRpbC5IYXNoTWFwOwppbXBvcnQgamF2YS51dGlsLk1hcDsKCnB1YmxpYyBjbGFzcyBNYWluIHsgICAvLy8gIEZpYmluYXJ5IE51bWJlcnMgIC0tLSBVTlNPTFZFRAogICAKICAgc3RhdGljIE1hcDxJbnRlZ2VyLCBCaWdJbnRlZ2VyPiBmaWJvOwoKICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgQnVmZmVyZWRSZWFkZXIgYnIgPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAgZmlibyA9IGZpYm8oKTsKICAgICAgU3RyaW5nQnVpbGRlciBzYiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgIFN0cmluZyBsaW5lID0gIiI7CiAgICAgIHdoaWxlKHRydWUpIHsKICAgICAgICAgCiAgICAgICAgIFN0cmluZyBhID0gYnIucmVhZExpbmUoKTsKICAgICAgICAgU3RyaW5nIGIgPSBici5yZWFkTGluZSgpOwoKCiAgICAgICAgIEJpZ0ludGVnZXIgYmlnQSA9IEJpZ0ludGVnZXIuWkVSTzsKICAgICAgICAgQmlnSW50ZWdlciBiaWdCID0gQmlnSW50ZWdlci5aRVJPOwogICAgICAgICAKICAgICAgICAgYmlnQSA9IGdldERlY2ltYWwoYSwgYmlnQSk7CiAgICAgICAgIGJpZ0IgPSBnZXREZWNpbWFsKGIsIGJpZ0IpOwogICAgICAgICAKICAgICAgICAgCiAgICAgICAgIEJpZ0ludGVnZXIgYmlnUmVzdWx0ID0gQmlnSW50ZWdlci5aRVJPOwogICAgICAgICBiaWdSZXN1bHQgPSBiaWdSZXN1bHQuYWRkKGJpZ0EpLmFkZChiaWdCKTsKCgogICAgICAgICBTdHJpbmcgcmVzdWx0ID0gIiI7CiAgICAgICAgIGlmKGJpZ1Jlc3VsdC5jb21wYXJlVG8oQmlnSW50ZWdlci5aRVJPKSA9PSAwKSB7CiAgICAgICAgICAgIHNiLmFwcGVuZCgiMCIgKyAiXG5cbiIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXN1bHQgPSBnZXRGaWJpbmFyeShiaWdSZXN1bHQsIHJlc3VsdCk7ICAgLy8vIGdldCBmaWJpbmF5CiAgICAgICAgICAgIHNiLmFwcGVuZChyZXN1bHQgKyAiXG5cbiIpOwogICAgICAgICB9CgogICAgICAgICBpZigobGluZSA9IGJyLnJlYWRMaW5lKCkpID09IG51bGwpIGJyZWFrOwoKICAgICAgfQogICAgICBzYi5kZWxldGVDaGFyQXQoc2IubGVuZ3RoKCkgLSAxKTsKICAgICAgU3lzdGVtLm91dC5wcmludChzYik7CgogICB9CgoKICAgcHVibGljIHN0YXRpYyBTdHJpbmcgZ2V0RmliaW5hcnkoQmlnSW50ZWdlciBiaWdSZXN1bHQsIFN0cmluZyByZXN1bHQpIHsKICAgICAgICAgICAgICAgIGludCBoZWxwZXIgPSAwOwogICAgICBmb3IgKGludCBpID0gMTAwOyBpID49IDE7IGktLSkgewogICAgICAgICBCaWdJbnRlZ2VyIHRlbXAgPSBmaWJvLmdldChpKTsKICAgICAgICAgaWYgKGJpZ1Jlc3VsdC5jb21wYXJlVG8odGVtcCkgPj0gMCkgewogICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyAiMSI7CiAgICAgICAgICAgIGJpZ1Jlc3VsdCA9IGJpZ1Jlc3VsdC5zdWJ0cmFjdCh0ZW1wKTsKICAgICAgICAgICAgaGVscGVyKys7CiAgICAgICAgIH0gZWxzZSBpZihoZWxwZXIgPiAwKQogICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgKyAiMCI7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdDsKICAgfQoKCiAgIHB1YmxpYyBzdGF0aWMgQmlnSW50ZWdlciBnZXREZWNpbWFsKFN0cmluZyBhLCBCaWdJbnRlZ2VyIGJpZ0EpIHsKICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhLmxlbmd0aCgpOyBpKyspIHsKICAgICAgICAgaWYgKGEuY2hhckF0KGkpID09ICcxJykgewogICAgICAgICAgICBiaWdBID0gYmlnQS5hZGQoZmliby5nZXQoYS5sZW5ndGgoKSAtIGkpKTsKICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBiaWdBOwogICB9CgoKICAgcHVibGljIHN0YXRpYyBIYXNoTWFwPEludGVnZXIsIEJpZ0ludGVnZXI+IGZpYm8oKSB7CiAgICAgIEhhc2hNYXA8SW50ZWdlciwgQmlnSW50ZWdlcj4gZmlibyA9IG5ldyBIYXNoTWFwPEludGVnZXIsIEJpZ0ludGVnZXI+KCk7CiAgICAgIGZpYm8ucHV0KDEsIG5ldyBCaWdJbnRlZ2VyKDErIiIpKTsKICAgICAgZmliby5wdXQoMiwgbmV3IEJpZ0ludGVnZXIoMisiIikpOwogICAgICBmb3IoaW50IGkgPSAzOyBpIDw9IDEwMDsgaSsrKSB7CiAgICAgICAgIGZpYm8ucHV0KGksIGZpYm8uZ2V0KGktMSkuYWRkKGZpYm8uZ2V0KGktMikpKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGZpYm87CgogICB9Cgp9Cgo=
MTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMAoxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwCg==
1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010