1 1 1
1000000000
2 1
 20 2 15
12698951 55128070 116962690 156763505 188535242 194018601 269939893 428710623 442819431 483000923 516768937 552903993 633087286 656092270 671535141 714291344 717660646 846508634 879748146 937368929
2 7
1 2
2 4
1 19
1 12
1 5
2 18
2 11
1 16
2 1
2 3
2 19
1 17
2 9
2 6
 6 3 10
62417580 78150524 410053501 582708235 630200761 760672946
2 2
1 5
1 2
1 4
2 4
2 1
2 1
1 6
2 5
2 6

NO
 NO
NO
NO
NO
NO
NO
YES
NO
NO
 NO
YES
NO
NO
YES
YES

#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define pi pair<LL,LL>
#define sci(n) scanf("%I64d",&n)
set<pi> v;
set<pi>::iterator it;
LL index[150002];
LL lvl[150002];
LL bb[150002];
int main()
{
    LL n,k,q,b,l,id,no=9999999;
    sci(n);
    sci(k);
    sci(q);
    for(LL i=1;i<=n;i++){
       sci(b);
       v.insert(make_pair(b,i));
    }
    //LL vz=v.size();
    //sort(v);
    LL cnt=0;
    for( it=v.begin(); it!=v.end() ;it++){
       index[cnt++]=(*it).second;
    }
    reverse(index,index+n);
    for(LL j=0;j<n;j++){
       bb[index[j]]=j+1;
    }
    for(LL i=1;i<=q;i++){
      sci(l);
      sci(id);
      if(l==1){
       lvl[id]=1;
      }
      else{
        if(lvl[id]==0)
        printf("NO");
        else{
          if(bb[id]<=k){
            printf("YES");
          }
          else{
              LL sum=0;
             for(i=0; i<n ;i++){
              b=index[i];
                sum+=lvl[b];
                if(sum>k){
                   no = index[b];
                   printf("NO");
                break;
                }
                if(b==id){
                printf("YES");
                break;
                }
             }
          }

        }
      }
      cout<<"\n";
    }
    /*for(it=v.begin(); it!=v.end() ;it++){
      cout<<(*it).second<<' ';
    }
    for(LL i=0;i<n;i++){
      cout<<index[i]<<' '<<i<<'\n';
    }
    for(LL i=0;i<n;i++){
      cout<<bb[i+1]<<' '<<i+1<<'\n';
    }*/
    return 0;
}
