#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, q;
cin >> n >> q;
while(q--)
{
int operation;
cin >> operation;
if(operation == 1)
{
for(int i = 0; i < 32; i++)
{
if((1 & (n >> i)) == 0)
{
n |= (1 << i);
break;
}
}
cout << n << '\n';
}
else if(operation == 2)
{
for(int i = 0; i < 32; i++)
{
if((1 & (n >> i)) == 1)
{
n &= (-1 ^ (1 << i));
break;
}
}
cout << n << '\n';
}
else if (operation == 3)
{
if(n == 0)
{
n = -1;
}
else
{
for(int i = 0; i < 32; i++)
{
if((1 & (n >> i)) == 1) // Check first
{
break;
}
n = n | (1 << i); // modify second
}
}
cout << n << '\n'; // output later
}
else if (operation == 4)
{
for(int i = 0; i < 32; i++)
{
if((1 & (n >> i)) == 0) // Check first
{
break;
}
n = n & ~(1 << i);// modify second
}
cout << n << '\n'; // output later
}
else
{
if(__builtin_popcount(n) == 1)
cout << "is power of two\n";
else
cout << "not power of two\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKCiAgICBpbnQgbiwgcTsKICAgIGNpbiA+PiBuID4+IHE7CgogICAgd2hpbGUocS0tKQogICAgewogICAgICAgIGludCBvcGVyYXRpb247CiAgICAgICAgY2luID4+IG9wZXJhdGlvbjsKCiAgICAgICAgaWYob3BlcmF0aW9uID09IDEpCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgMzI7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoKDEgJiAobiA+PiBpKSkgPT0gMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBuIHw9ICgxIDw8IGkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgbiA8PCAnXG4nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKG9wZXJhdGlvbiA9PSAyKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IDMyOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKCgxICYgKG4gPj4gaSkpID09IDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbiAmPSAoLTEgXiAoMSA8PCBpKSk7IAogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgbiA8PCAnXG4nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChvcGVyYXRpb24gPT0gMykKICAgICAgICB7CiAgICAgICAgICAgIGlmKG4gPT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbiA9IC0xOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IDMyOyBpKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYoKDEgJiAobiA+PiBpKSkgPT0gMSkgLy8gQ2hlY2sgZmlyc3QKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBuID0gbiB8ICgxIDw8IGkpOyAvLyBtb2RpZnkgc2Vjb25kCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBuIDw8ICdcbic7ICAvLyBvdXRwdXQgbGF0ZXIKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAob3BlcmF0aW9uID09IDQpCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgMzI7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoKDEgJiAobiA+PiBpKSkgPT0gMCkgLy8gQ2hlY2sgZmlyc3QKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG4gPSBuICYgfigxIDw8IGkpOy8vIG1vZGlmeSBzZWNvbmQKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0IDw8IG4gPDwgJ1xuJzsgIC8vIG91dHB1dCBsYXRlcgogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpZihfX2J1aWx0aW5fcG9wY291bnQobikgPT0gMSkKICAgICAgICAgICAgICAgIGNvdXQgPDwgImlzIHBvd2VyIG9mIHR3b1xuIjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgY291dCA8PCAibm90IHBvd2VyIG9mIHR3b1xuIjsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K