int main() {
typedef long long BigInteger;
BigInteger max/*("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");*/ = 0x0FFFFFFFFFFFFFFF;
for(BigInteger x0=1; x0<max;x0 *= 2) {
for(BigInteger x1=x0-1; x1<x0-2; ++x1) {
for(BigInteger y0=1; y0<=x; y0*= 2) {
for(BigInteger y1=y0-1; y1<=y0+1; ++y1) {
BigInteger p(x1*y1);
assert(p/x1==y1);
assert(p/y1==x1);
}
}
}
}
std::cout << "PASSED DIVISION TESTS";
}
aW50IG1haW4oKSB7CiAgICB0eXBlZGVmIGxvbmcgbG9uZyBCaWdJbnRlZ2VyOwogICAgQmlnSW50ZWdlciBtYXgvKigiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiIpOyovID0gMHgwRkZGRkZGRkZGRkZGRkZGOwoKZm9yKEJpZ0ludGVnZXIgeDA9MTsgeDA8bWF4O3gwICo9IDIpIHsKICAgIGZvcihCaWdJbnRlZ2VyIHgxPXgwLTE7IHgxPHgwLTI7ICsreDEpIHsKICAgICAgICBmb3IoQmlnSW50ZWdlciB5MD0xOyB5MDw9eDsgeTAqPSAyKSB7CiAgICAgICAgICAgIGZvcihCaWdJbnRlZ2VyIHkxPXkwLTE7IHkxPD15MCsxOyArK3kxKSB7CiAgICAgICAgICAgICAgICBCaWdJbnRlZ2VyIHAoeDEqeTEpOwogICAgICAgICAgICAgICAgYXNzZXJ0KHAveDE9PXkxKTsKICAgICAgICAgICAgICAgIGFzc2VydChwL3kxPT14MSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0Kc3RkOjpjb3V0IDw8ICJQQVNTRUQgRElWSVNJT04gVEVTVFMiOwoKfQ==