import java.util.*;
class NewMain
{
boolean isPalidrome(int number)
{
for (int i = 0; number/2 >> i != 0; i++)
{
if (((number >> i) & 1) != (((number >> digits - i) & 1)))
return false;
}
return true;
}
boolean isPalidrome2(byte number)
{
if ((number & 1) != (((number >> digits) & 1)))
return false;
if ((number/2 >> 1) == 0)
return true;
if (((number >> 1) & 1) != (((number >> (digits - 1)) & 1)))
return false;
if ((number/2 >> 2) == 0)
return true;
if (((number >> 2) & 1) != (((number >> (digits - 2)) & 1)))
return false;
if ((number/2 >> 3) == 0)
return true;
if (((number >> 3) & 1) != (((number >> (digits - 3)) & 1)))
return false;
return true;
}
{
NewMain newMain = new NewMain();
for (byte i = 0; i < 100; i++)
{
System.
out.
printf("%3d - %7s - %5s - %5s\n",
newMain.isPalidrome(i), newMain.isPalidrome2(i));
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgTmV3TWFpbgp7CiAgIGJvb2xlYW4gaXNQYWxpZHJvbWUoaW50IG51bWJlcikKICAgewogICAgICBpbnQgZGlnaXRzID0gKGludClNYXRoLmNlaWwoTWF0aC5jZWlsKE1hdGgubG9nMTAoMStudW1iZXIpL01hdGgubG9nMTAoMikpKS0xOwogICAgICBmb3IgKGludCBpID0gMDsgbnVtYmVyLzIgPj4gaSAhPSAwOyBpKyspCiAgICAgIHsKICAgICAgICAgaWYgKCgobnVtYmVyID4+IGkpICYgMSkgIT0gKCgobnVtYmVyID4+IGRpZ2l0cyAtIGkpICYgMSkpKQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgcmV0dXJuIHRydWU7CiAgIH0KCiAgIGJvb2xlYW4gaXNQYWxpZHJvbWUyKGJ5dGUgbnVtYmVyKQogICB7CiAgICAgIGludCBkaWdpdHMgPSAoaW50KU1hdGguY2VpbChNYXRoLmNlaWwoTWF0aC5sb2cxMCgxK251bWJlcikvTWF0aC5sb2cxMCgyKSkpLTE7CiAgICAgIGlmICgobnVtYmVyICYgMSkgIT0gKCgobnVtYmVyID4+IGRpZ2l0cykgJiAxKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgaWYgKChudW1iZXIvMiA+PiAxKSA9PSAwKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgaWYgKCgobnVtYmVyID4+IDEpICYgMSkgIT0gKCgobnVtYmVyID4+IChkaWdpdHMgLSAxKSkgJiAxKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgaWYgKChudW1iZXIvMiA+PiAyKSA9PSAwKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgaWYgKCgobnVtYmVyID4+IDIpICYgMSkgIT0gKCgobnVtYmVyID4+IChkaWdpdHMgLSAyKSkgJiAxKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgaWYgKChudW1iZXIvMiA+PiAzKSA9PSAwKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgaWYgKCgobnVtYmVyID4+IDMpICYgMSkgIT0gKCgobnVtYmVyID4+IChkaWdpdHMgLSAzKSkgJiAxKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgcmV0dXJuIHRydWU7CiAgIH0KCiAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24KICAgewogICAgICBOZXdNYWluIG5ld01haW4gPSBuZXcgTmV3TWFpbigpOwogICAgICBmb3IgKGJ5dGUgaSA9IDA7IGkgPCAxMDA7IGkrKykKICAgICAgewogICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiJTNkIC0gJTdzIC0gJTVzIC0gJTVzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpLCBJbnRlZ2VyLnRvQmluYXJ5U3RyaW5nKGkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdNYWluLmlzUGFsaWRyb21lKGkpLCBuZXdNYWluLmlzUGFsaWRyb21lMihpKSk7CiAgICAgIH0KICAgfQp9