#include <bits/stdc++.h>
#define ll long long
#define pep_Guardiola \
ios::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
using namespace std;
// #define int ll
void io()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif
}
const int N = 1e6 + 7;
void Guardiola()
{
int n, q;
cin >> n >> q;
vector<int> a(n), freq(N, 0), bits(20);
for (int i = 0; i < n; i++)
{
cin >> a[i];
freq[a[i]]++;
int msb = log2(a[i]);
bits[msb]++;
}
while (q--)
{
char type;
cin >> type;
if (type == 'U')
{
int i, v;
cin >> i >> v;
i--;
freq[a[i]]--;
int b = log2(a[i]);
bits[b]--;
a[i] = v;
freq[v]++;
b = log2(v);
bits[b]++;
}
else if (type == '|')
{
int v;
cin >> v;
cout << freq[v] << '\n';
}
else if (type == '&')
{
int v;
cin >> v;
cout << n << '\n';
}
else
{
int v;
cin >> v;
int ms = log2(v);
cout << bits[ms] << '\n';
}
}
}
signed main()
{
pep_Guardiola;
io();
int t = 1;
// cin >> t;
while (t--)
Guardiola();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcGVwX0d1YXJkaW9sYSAgICAgICAgXAogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IFwKICAgIGNpbi50aWUoMCk7ICAgICAgICAgICAgICBcCiAgICBjb3V0LnRpZSgwKTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy8gI2RlZmluZSBpbnQgbGwKCnZvaWQgaW8oKQp7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKI2VuZGlmCn0KY29uc3QgaW50IE4gPSAxZTYgKyA3OwoKdm9pZCBHdWFyZGlvbGEoKQp7CiAgICBpbnQgbiwgcTsKICAgIGNpbiA+PiBuID4+IHE7CiAgICB2ZWN0b3I8aW50PiBhKG4pLCBmcmVxKE4sIDApLCBiaXRzKDIwKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgICAgICBmcmVxW2FbaV1dKys7CiAgICAgICAgaW50IG1zYiA9IGxvZzIoYVtpXSk7CiAgICAgICAgYml0c1ttc2JdKys7CiAgICB9CiAgICB3aGlsZSAocS0tKQogICAgewogICAgICAgIGNoYXIgdHlwZTsKICAgICAgICBjaW4gPj4gdHlwZTsKICAgICAgICBpZiAodHlwZSA9PSAnVScpCiAgICAgICAgewogICAgICAgICAgICBpbnQgaSwgdjsKICAgICAgICAgICAgY2luID4+IGkgPj4gdjsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgICBmcmVxW2FbaV1dLS07CiAgICAgICAgICAgIGludCBiID0gbG9nMihhW2ldKTsKICAgICAgICAgICAgYml0c1tiXS0tOwogICAgICAgICAgICBhW2ldID0gdjsKICAgICAgICAgICAgZnJlcVt2XSsrOwogICAgICAgICAgICBiID0gbG9nMih2KTsKICAgICAgICAgICAgYml0c1tiXSsrOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICh0eXBlID09ICd8JykKICAgICAgICB7CiAgICAgICAgICAgIGludCB2OwogICAgICAgICAgICBjaW4gPj4gdjsKICAgICAgICAgICAgY291dCA8PCBmcmVxW3ZdIDw8ICdcbic7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gJyYnKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHY7CiAgICAgICAgICAgIGNpbiA+PiB2OwogICAgICAgICAgICBjb3V0IDw8IG4gPDwgJ1xuJzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaW50IHY7CiAgICAgICAgICAgIGNpbiA+PiB2OwogICAgICAgICAgICBpbnQgbXMgPSBsb2cyKHYpOwogICAgICAgICAgICBjb3V0IDw8IGJpdHNbbXNdIDw8ICdcbic7CiAgICAgICAgfQogICAgfQp9CgpzaWduZWQgbWFpbigpCnsKICAgIHBlcF9HdWFyZGlvbGE7CiAgICBpbygpOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKQogICAgICAgIEd1YXJkaW9sYSgpOwoKICAgIHJldHVybiAwOwp9