#include <bits/stdc++.h>

using namespace std;
int N,Q;
int t,k,x;
int pom;
vector<int>cnt(18,0);
vector<int>A;
void izvuciCifre(int a,int pos){
    for(int i=17;i>=0;i--){
        if(a>=(1<<i)){
            cnt[i]++;
            a-=(1<<i);
        }
    }
}
void izvuciCifrePromena(int a,int pos){
    int b=A[pos];
    for(int i=17;i>=0;i--){
        if(b>=(1<<i)){
            cnt[i]--;
            b-=(1<<i);
        }
    }
    A[pos]=a;
    for(int i=17;i>=0;i--){
        if(a>=(1<<i)){
            cnt[i]++;
            a-=(1<<i);
        }
    }
}
void uradi0(){
    int res=0;
    for(int i=0;i<=17;i++){
        if(k<=cnt[i]){
            res+=(1<<i);
        }
    }

    cout<<res<<"\n";
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>N;
    A.push_back(-1);
    for(int i=1;i<=N;i++){
        cin>>pom;
        A.push_back(pom);
        izvuciCifre(pom,i);
    }
    cin>>Q;
    for(int i=0;i<Q;i++){
        cin>>t>>k;
        if(t==0){
            uradi0();
        }
        else{
            cin>>x;
            izvuciCifrePromena(x,k);
        }
    }
    return 0;
}