#include using namespace std; int main(){ //ios::sync_with_stdio(false); //cin.tie(0); int n, v = 0, p, x, s; cin >> n; vector> tb(75001); vector a(n); for(int i = 0; i < n; i++){ cin >> a[i]; tb[a[i]].insert(i); v ^= a[i]; } auto update = [&](int p, int x){ tb[a[p]].erase(p); v ^= a[p]; a[p] -= x; v ^= a[p]; tb[a[p]].insert(p); }; auto my_turn = [&](){ for(int j = 1; j < 75000; j++){ if((j ^ v) >= j)continue; if(tb[j].empty())continue; cout << (*tb[j].begin()) + 1 << " " << j - (j ^ v) << '\n'; update(*tb[j].begin(), j - (j ^ v)); return; } }; if(v == 0){ cout << 0 << endl; cin >> p >> x; update(--p, x); }else{ cout << 1 << endl; my_turn(); } while(true){ cin >> s; if(s == -1)break; my_turn(); cin >> s; if(s == -1)break; cin >> p >> x; update(--p, x); } }