#include <bits/stdc++.h>
using namespace std;
int N,M,X,mesto,T,Y,RES,x,R;
int NIZ[100005];
int BIN[1005];
int S2[1005];
int main(){
    int POM=1;
    for(int i=0;i<=1005;i++){
    S2[i]=POM;
    POM*=2;
    }
    cin>>N;
    for(int i=1;i<=N;i++){
        scanf("%d",&NIZ[i]);
        X=NIZ[i];
        mesto=0;
        while(X>0){
            mesto++;
            if(X%2)BIN[mesto]++;
            X=X>>1;
        }
    }
    cin>>M;
    for(int i=1;i<=M;i++){
        scanf("%d",&T);
        if(T){
            scanf("%d %d",&x,&Y);
            X=NIZ[x];
            NIZ[x]=Y;
            mesto=0;
            while(X>0){
                mesto++;
                if(X%2)BIN[mesto]--;
                X=X>>1;
            }
            mesto=0;
            while(Y>0){
                mesto++;
                if(Y%2)BIN[mesto]++;
                Y=Y>>1;
            }
        }
        else{
            scanf("%d",&R);
            RES=0;
            for(int i=1;i<=1000;i++){
                if(BIN[i]>=R)RES+=S2[i-1];
            }
            cout<<RES;
        }
    }

 return 0;
}