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

import java.util.HashMap;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Scanner;

public class Maina {
	static Map<String, String> m = new HashMap<String, String>();

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);
	
	int n , k,d;
	n = input.nextInt();
	k = input.nextInt();
	d = input.nextInt();
	int[] a = new int[n];
	for(int i = 0;i<n;i++){
	 a[i]=input.nextInt();
	}
	PriorityQueue<Integer>q = new PriorityQueue<Integer>();
	while(!q.isEmpty())q.poll();
	for(int i =0;i<d;i++){
	    int y , x;
y = input.nextInt();
x = input.nextInt();
if(y==1){
	        q.add((a[x-1]));
	        if(q.size()>k){
	        	PriorityQueue<Integer>qq = new PriorityQueue<Integer>();
	            while(!qq.isEmpty())qq.poll();
	            for(int j = 0;j<k;j++){
	                qq.add(q.peek());
	                qq.poll();
	            }
	            q.poll();
	           while(!qq.isEmpty()){
	            q.add(qq.peek());
	            qq.poll();

	           }

	        }



	    }else {
	        boolean b = false;
	        PriorityQueue<Integer>qq = new PriorityQueue<Integer>();
	    while(!qq.isEmpty())qq.poll();
	    while(!q.isEmpty()){
	            if(q.peek()==a[x-1])b=true;
	                qq.add(q.peek());
	                q.poll();
	            }
	            while(!qq.isEmpty()){
	            q.add(qq.peek());
	            qq.poll();

	           }


	    if(b)System.out.println("YES");
	    else System.out.println("NO");
	    }

	}



	
	
	
	}
}
