#include <iostream>
using namespace std;
void print(int n)
{
int mask = 1<<30, cnt = 31;
cout<<mask<<" "<<n<<endl;
while(cnt--)
{
if(n & mask)
cout<<"1 ";
else
cout<<"0 ";
mask = mask>>1;
}
cout<<endl;
}
void flipSecMSB(int n)
{
print(n);
int mask = 1<<30, cnt = 31; bool foundMSB=false;
while(cnt--)
{
if(n & mask)
{
if(foundMSB)
{
n = n ^ mask;
break;
}
else
foundMSB = true;
}
mask = mask>>1;
}
print(n);
}
int main() {
// your code goes here
flipSecMSB(8);
flipSecMSB(255);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludChpbnQgbikKewoJaW50IG1hc2sgPSAxPDwzMCwgY250ID0gMzE7Cgljb3V0PDxtYXNrPDwiICI8PG48PGVuZGw7Cgl3aGlsZShjbnQtLSkKCXsKCQlpZihuICYgbWFzaykKCQkJY291dDw8IjEgIjsKCQllbHNlCgkJCWNvdXQ8PCIwICI7CgkJbWFzayA9IG1hc2s+PjE7Cgl9Cgljb3V0PDxlbmRsOwkKfQoKdm9pZCBmbGlwU2VjTVNCKGludCBuKQp7CglwcmludChuKTsKCQoJaW50IG1hc2sgPSAxPDwzMCwgY250ID0gMzE7IGJvb2wgZm91bmRNU0I9ZmFsc2U7Cgl3aGlsZShjbnQtLSkKCXsKCQlpZihuICYgbWFzaykKCQl7CgkJCWlmKGZvdW5kTVNCKQoJCQl7CgkJCQluID0gbiBeIG1hc2s7CgkJCQlicmVhazsKCQkJfQoJCQllbHNlCgkJCQlmb3VuZE1TQiA9IHRydWU7CgkJfQoJCW1hc2sgPSBtYXNrPj4xOwoJfQoJcHJpbnQobik7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJZmxpcFNlY01TQig4KTsKCWZsaXBTZWNNU0IoMjU1KTsKCQoJcmV0dXJuIDA7Cn0=