import java.io.IOException;
import java.math.BigInteger;
class Scratch {
int readByte
= System.
in.
read();
if (readByte < 0) {
}
if (readByte != '0' && readByte != '1') {
}
return readByte == '1';
}
private static void writeBit(boolean bit) {
System.
out.
print(bit
? "1" : "0"); }
while (length.signum() > 0) {
}
return number;
}
if (readBit()) {
}
while (!readBit()) {
x_i = readNumber(x_i);
}
System.
out.
println("Number of bits read so far: " + bitsRead
); System.
out.
println("Now will read the bit-sequence of length: " + x_i
);
while (x_i.signum() > 0) {
writeBit(readBit());
}
}
}
aW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLm1hdGguQmlnSW50ZWdlcjsKCmNsYXNzIFNjcmF0Y2ggewogICAgc3RhdGljIEJpZ0ludGVnZXIgYml0c1JlYWQgPSBCaWdJbnRlZ2VyLlpFUk87CiAgICBzdGF0aWMgYm9vbGVhbiByZWFkQml0KCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBpbnQgcmVhZEJ5dGUgPSBTeXN0ZW0uaW4ucmVhZCgpOwoKICAgICAgICBpZiAocmVhZEJ5dGUgPCAwKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbGxlZ2FsU3RhdGVFeGNlcHRpb24oIlVuZXhwZWN0ZWQgZW5kIG9mIGJpdC1zdHJlYW0iKTsKICAgICAgICB9CgogICAgICAgIGlmIChyZWFkQnl0ZSAhPSAnMCcgJiYgcmVhZEJ5dGUgIT0gJzEnKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbGxlZ2FsU3RhdGVFeGNlcHRpb24oIk9ubHkgQVNDSUkgMCBhbmQgMSBhcmUgYWxsb3dlZCIpOwogICAgICAgIH0KCiAgICAgICAgYml0c1JlYWQgPSBiaXRzUmVhZC5hZGQoQmlnSW50ZWdlci5PTkUpOwoKICAgICAgICByZXR1cm4gcmVhZEJ5dGUgPT0gJzEnOwogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIHZvaWQgd3JpdGVCaXQoYm9vbGVhbiBiaXQpIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGJpdCA/ICIxIiA6ICIwIik7CiAgICB9CgogICAgc3RhdGljIEJpZ0ludGVnZXIgcmVhZE51bWJlcihCaWdJbnRlZ2VyIGxlbmd0aCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBCaWdJbnRlZ2VyIG51bWJlciA9IEJpZ0ludGVnZXIuWkVSTzsKCiAgICAgICAgd2hpbGUgKGxlbmd0aC5zaWdudW0oKSA+IDApIHsKICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyLnNoaWZ0TGVmdCgxKS5hZGQocmVhZEJpdCgpID8gQmlnSW50ZWdlci5PTkUgOiBCaWdJbnRlZ2VyLlpFUk8pOwoKICAgICAgICAgICAgbGVuZ3RoID0gbGVuZ3RoLnN1YnRyYWN0KEJpZ0ludGVnZXIuT05FKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBudW1iZXI7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBpZiAocmVhZEJpdCgpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbGxlZ2FsU3RhdGVFeGNlcHRpb24oInBhcmFtZXRlciBLIG11c3QgYmUgYXQgbGVhc3QgMSIpOwogICAgICAgIH0KCiAgICAgICAgQmlnSW50ZWdlciB4X2kgPSByZWFkTnVtYmVyKEJpZ0ludGVnZXIudmFsdWVPZigyKSk7CgogICAgICAgIHdoaWxlICghcmVhZEJpdCgpKSB7CiAgICAgICAgICAgIHhfaSA9IHJlYWROdW1iZXIoeF9pKTsKICAgICAgICB9CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTnVtYmVyIG9mIGJpdHMgcmVhZCBzbyBmYXI6ICIgKyBiaXRzUmVhZCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJOb3cgd2lsbCByZWFkIHRoZSBiaXQtc2VxdWVuY2Ugb2YgbGVuZ3RoOiAiICsgeF9pKTsKCiAgICAgICAgd2hpbGUgKHhfaS5zaWdudW0oKSA+IDApIHsKICAgICAgICAgICAgd3JpdGVCaXQocmVhZEJpdCgpKTsKCiAgICAgICAgICAgIHhfaSA9IHhfaS5zdWJ0cmFjdChCaWdJbnRlZ2VyLk9ORSk7CiAgICAgICAgfQogICAgfQp9