#include <bits/stdc++.h>

using namespace std;

unsigned long long int kvadratdvojke(unsigned long long int a){
    unsigned long long int s=1;
    if(a==0)return s;
    else {
        for(int i=0;i<a;i++)s=s*2;
    }
    return s;
}
unsigned long long int ili(unsigned long long int a,unsigned long long int b){
    unsigned long long int c=0;
    int a1,b1;
    int i=0;
    while(b>0 or a>0){
        a1=a%2;
        b1=b%2;

        if(a1==1 or b1==1){
            c=c+kvadratdvojke(i);
        }
        i++;

        a=a/2;
        b=b/2;
    }
    return c;
}
unsigned long long int ii(unsigned long long int a,unsigned long long int b){
    unsigned long long int c=0;
    int a1,b1;
    int i=0;
    while(b>0 or a>0){
        a1=a%2;
        b1=b%2;

        if(a1==1 and b1==1){
            c=c+kvadratdvojke(i);
        }
        i++;

        a=a/2;
        b=b/2;
    }
    return c;
}
unsigned long long int a[100000],aa[100000],a1[100000],a2[100000],a3[100000],s[100000];
int main()
{

    int n;
    cin>>n;
    int o=0;
    int kecevi=0;
    //int a[1000];
    //int aa[1000];
    for(int i=0;i<n;i++){
        cin>>a[i];
        aa[i]=a[i];
        if(a[i]>1)o=1;
        if(a[i]==1)kecevi++;

    }
    /*sort(a,a+n);
    int m,r;
    for(int j=0;j<n;j++){
        for(int i=0;i<n-j-1;i++){
            m=a[i];
            r=a[i+1];
            a[i+1]=ili(m,r);
            a[i]=ii(m,r);
        }
    }*/
    //int a1[1000],a2[1000],a3[1000];
    int q;
    cin>>q;
    int w=0;
    //int s[1000];
    if(o==0){
         for(int i=0;i<q;i++){
        cin>>a1[i]>>a2[i];
        if(a1[i]==0){

            if(a2[i]<=kecevi)cout<<1<<endl;
            else cout<<0<<endl;


        }
        else{
            cin>>a3[i];
            if(a[a2[i]]==1 and a3[i]==0)kecevi--;
            if(a[a2[i]]==0 and a3[i]==1)kecevi++;

        }

    }
    }

    else{

    unsigned long long int z;
    for(int i=0;i<q;i++){
        for(int i1=0;i1<n;i1++){
            a[i]==aa[i];
        }
        cin>>a1[i]>>a2[i];
        if(a1[i]==0){

            sort(a,a+n);
            unsigned long long int m,r;
            for(int j=0;j<n;j++){
                for(int i=0;i<n-j-1;i++){
                    m=a[i];
                    r=a[i+1];
                    a[i+1]=ili(m,r);
                    a[i]=ii(m,r);
                }
            }


            z=n-a2[i];
            s[w]=a[z];
            w++;
        }
        else{
            cin>>a3[i];
            a[a2[i]-1]=a3[i];

        }

    }
    }

    for(int i=0;i<w;i++)cout<<s[i]<<endl;


    return 0;

    /*
4
0 1 2 3
3
0 1
0 2
0 3
    */


}