#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define fi first
#define sc second
#define endl "\n"

using namespace std;

const int lg = 30;

signed main()
{
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int tt=1;
    //cin >> tt;
    while(tt--)
    {
        int n;
        cin >> n;
        vector<int>niz(n);
        vector<int>nmbit(lg);
        for(int i=0; i<n; i++)
        {
            cin >> niz[i];
            for(int j=0; j<lg; j++)
            {
                if(niz[i]&(1<<j))nmbit[j]++;
            }
        }
        //for(int i=0; i<5; i++)cout << nmbit[i] << endl;
        int q;cin >> q;
        while(q--)
        {
            int t;cin >> t;
            if(t==0)
            {
                int k;cin >> k;
                int rez=0;
                for(int i=0; i<lg; i++)
                {
                    if(nmbit[i]>=k)rez+=(1<<i);
                }
                cout << rez << endl;
            }
            else
            {
                int k,a;
                cin >> k >> a;
                k--;
                for(int j=0; j<lg; j++)
                {
                    if(niz[k]&(1<<j))nmbit[j]--;
                }
                niz[k] = a;
                for(int j=0; j<lg; j++)
                {
                    if(niz[k]&(1<<j))nmbit[j]--;
                }

            }
        }



    }
}