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.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @author rohit
 *
 */
public class C658_B {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(isr);
		
		String[] s1 = br.readLine().split(" ");
		String[] s2 = br.readLine().split(" ");
		
		int n = Integer.valueOf(s1[0].trim());
		int k = Integer.valueOf(s1[1].trim());
		int q = Integer.valueOf(s1[2].trim());
		
		List<Integer> l = new ArrayList<>();
		for(int i=0;i<s2.length;i++){
			Integer x = Integer.valueOf(s2[i].trim());
			l.add(x);
		}
		int [] cur = new int[k];
		int c = 0;
		for(int i=0;i<q;i++){
			String[] s3 = br.readLine().split(" ");
			int type = Integer.valueOf(s3[0].trim());
			int id = Integer.valueOf(s3[1].trim());
			id--;
			if(type == 1){
				int e = c;
				if(l.get(id)>cur[e]){

					while(e >=0 && l.get(id)>cur[e]){
						if(e < k-1)
							cur[e+1] = cur[e];
						e--;
					}
					e++;
					cur[e] = l.get(id);
					if(c < cur.length-1)
						c++;
				}


			} else {
				boolean f = false;
				for(int j=0;j<cur.length;j++){
					if(cur[j]==l.get(id)){
						f = true;
						break;
					}
				}
				if(f)
					System.out.println("YES");
				else
					System.out.println("NO");
			}
		}
	}

}
