class Ideone {
public static int convert(byte b1, byte b2) {
int i1 = (int) (((b2 << 8) + (b1 & 0xFF)) & 0x0000FFFF);
short s1 = (short) i1;
int i2 = (int) s1;
return i2;
}
public static int convertEquivalent(byte b1, byte b2) {
return (short) ((b2 << 8) | (b1 & 0xFF));
}
byte b1
= Byte.
MIN_VALUE; do {
byte b2
= Byte.
MIN_VALUE; do {
if (convert(b1, b2) != convertEquivalent(b1, b2)) throw new AssertionError();
} while (b2
++ != Byte.
MAX_VALUE); } while (b1
++ != Byte.
MAX_VALUE); }
}
Y2xhc3MgSWRlb25lIHsKICBwdWJsaWMgc3RhdGljIGludCBjb252ZXJ0KGJ5dGUgYjEsIGJ5dGUgYjIpIHsKICAgIGludCBpMSA9IChpbnQpICgoKGIyIDw8IDgpICsgKGIxICYgMHhGRikpICYgMHgwMDAwRkZGRik7CiAgICBzaG9ydCBzMSA9IChzaG9ydCkgaTE7CiAgICBpbnQgaTIgPSAoaW50KSBzMTsKICAgIHJldHVybiBpMjsKICB9CgogIHB1YmxpYyBzdGF0aWMgaW50IGNvbnZlcnRFcXVpdmFsZW50KGJ5dGUgYjEsIGJ5dGUgYjIpIHsKICAgIHJldHVybiAoc2hvcnQpICgoYjIgPDwgOCkgfCAoYjEgJiAweEZGKSk7CiAgfQoKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiB7CiAgICBieXRlIGIxID0gQnl0ZS5NSU5fVkFMVUU7CiAgICBkbyB7CiAgICAgIGJ5dGUgYjIgPSBCeXRlLk1JTl9WQUxVRTsKICAgICAgZG8gewogICAgICAgIGlmIChjb252ZXJ0KGIxLCBiMikgIT0gY29udmVydEVxdWl2YWxlbnQoYjEsIGIyKSkgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKCk7CiAgICAgIH0gd2hpbGUgKGIyKysgIT0gQnl0ZS5NQVhfVkFMVUUpOwogICAgfSB3aGlsZSAoYjErKyAhPSBCeXRlLk1BWF9WQUxVRSk7CiAgfQp9Cg==