#include <bits/stdc++.h>
using namespace std;
string obrni(string s){
    string novi;
    novi="";
    for(int i=s.size()-1;i>=0;i--){
        novi+=s[i];
    }
    return novi;
}
int ili(int a,int b){
    string bina="";
    string binb="";
    int ostataka,ostatakb;
    while(a>0){
        ostataka=a%2;
        bina+=(to_string(ostataka));
        a=a/2;
    }
    while(b>0){
        ostatakb=b%2;
        binb+=(to_string(ostatakb));
        b=b/2;
    }
    string rez="";
    for(int i=0;i<min(bina.size(),binb.size());i++){
        if(bina[i]=='1' || binb[i]=='1'){
            rez+='1';
        }
        else{
            rez+='0';
        }
    }
    if(bina.size()>binb.size()){
        for(int i=min(bina.size(),binb.size());i<bina.size();i++){
            if(bina[i]=='1'){
                rez+='1';
            }
            else{
                rez+='0';
            }
        }
    }
    if(binb.size()>bina.size()){
        for(int i=min(bina.size(),binb.size());i<binb.size();i++){
            if(binb[i]=='1'){
                rez+='1';
            }
            else{
                rez+='0';
            }
        }
    }
    int rezint=0;
    for(int i=0;i<rez.size();i++){
        if(rez[i]=='1'){
            rezint+=pow(2,i);
        }
    }
    return rezint;
}
int i(int a,int b){
    string bina="";
    string binb="";
    int ostataka,ostatakb;
    while(a>0){
        ostataka=a%2;
        bina+=(to_string(ostataka));
        a=a/2;
    }
    while(b>0){
        ostatakb=b%2;
        binb+=(to_string(ostatakb));
        b=b/2;
    }
    string rez="";
    for(int i=0;i<min(bina.size(),binb.size());i++){
        if(bina[i]=='1' && binb[i]=='1'){
            rez+='1';
        }
        else{
            rez+='0';
        }
    }
    int rezint=0;
    for(int i=0;i<rez.size();i++){
        if(rez[i]=='1'){
            rezint+=pow(2,i);
        }
    }
    return rezint;
}
int main(){
    int n,niz[100000],q,tip,k,x;
    cin >> n;
    for(int i=0;i<n;i++){
        cin >> niz[i];
    }
    cin >> q;
    int jedinice=0;
    int nule=0;
    for(int i=0;i<n;i++){
        if(niz[i]==1){
            jedinice++;
        }
        else{
            nule++;
        }
    }
    for(int i=0;i<q;i++){
        cin >> tip;
        if(tip==0){
            cin >> k;
            if(k<=jedinice){
                cout << 1 << endl;
            }
            else{
                cout << 0 << endl;
            }
        }
        if(tip==1){
            cin >> k;
            cin >> x;
            if(niz[k]==1 && niz[x]==0){
                jedinice--;
                nule++;
            }
            if(niz[k]==0 && niz[x]==1){
                jedinice++;
                nule--;
            }
    }



}
}