#include<bits/stdc++.h>
using namespace std;
int main(){

    int n;
    cin>>n;

    int niz[n+5];
    bool bul = true;
    int jd=0;

    for(int i=0;i<n;i++){

        cin>>niz[i];
        if(niz[i] > 1){
            bul = false;
        }
        if(niz[i] == 1){
            jd++;
        }

    }

    int q;
    cin>>q;
    int tip,k,x;
    int zin[n+5];
    int g,h;

    if(bul){


        for(int lj=0;lj<q;lj++){

            cin>>tip;

            if(tip == 1){

                cin>>k>>x;
                if(niz[k-1] == x){
                    continue;
                }
                if(x == 1){
                    jd++;
                }
                else{
                    jd--;
                }
                niz[k-1] = x;
            }
            else if(tip == 0){

                cin>>k;

                if(k<=jd){
                    cout<<1<<endl;
                }
                else{
                    cout<<0<<endl;
                }
            }
        }

    }

    else{

        for(int i=0;i<n;i++){

            zin[i] = niz[i];
        }

        for(int i=0;i<n;i++){

            for(int j=i+1;j<n;j++){

                g = zin[i] | zin[j];
                h = zin[i] & zin[j];
                zin[i] = g;
                zin[j] = h;
            }
        }


        for(int lj=0;lj<q;lj++){

            cin>>tip;

            if(tip == 1){

                cin>>k>>x;
                niz[k-1] = x;

                for(int i=0;i<n;i++){

                    zin[i] = niz[i];
                }

                for(int i=0;i<n;i++){

                    for(int j=i+1;j<n;j++){

                        g = zin[i] | zin[j];
                        h = zin[i] & zin[j];
                        zin[i] = g;
                        zin[j] = h;
                    }
                }
            }

            else if(tip == 0){

                cin>>k;

                cout<<zin[k-1]<<endl;
            }
        }
    }
}