#include<bits/stdc++.h>
#define ll long long
#define MAXN 200007
using namespace std;
int a[MAXN];
int abit[32];
void make(int n)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<32;j++)
        {
            if(a[i]&(1<<j)) abit[j]++;
        }
    }
}
void get(int x)
{
    int ans=0;
    for(int i=0;i<32;i++)
    {
        if(abit[i]>=x) ans+=(1<<i);
    }
    cout<<ans<<endl;
    return;
}
void update(int pos, int val)
{
    for(int i=0;i<32;i++)
    {
        if(a[pos-1]&(1<<i)) abit[i]--;
    }
    a[pos-1]=val;
    for(int i=0;i<32;i++)
    {
        if(a[pos-1]&(1<<i)) abit[i]++;
    }
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>a[i];
    make(n);
    int q;
    cin>>q;
    while(q--)
    {
        int type;
        cin>>type;
        if(type==0)
        {
            int x;
            cin>>x;
            get(x);
        }
        else
        {
            int k,x;
            cin>>k>>x;
            update(k,x);
        }
    }
    return 0;
}