#include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using ld = long double; int main(){ int q; cin >> q; set s; vector cnt(32, 0); while(q--){ int op; cin >> op; if(op == 1){ int x; cin >> x; if(s.count(x) == 0){ s.emplace(x); for(int i = 30; i >= 0; i--){ if((x >> i) & 1) cnt[i]++; } } }else if(op == 2){ int x; cin >> x; if(s.count(x) == 1){ s.erase(x); for(int i = 30; i >= 0; i--){ if((x >> i) & 1) cnt[i]--; } } }else{ int ans = 0; for(int i = 30; i >= 0; i--){ if(cnt[i] == s.size()) ans |= 1 << i; } if(s.size() == 0) ans = -1; cout << ans << '\n'; } } return 0; }