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.io.PrintWriter;
import java.util.Comparator;
import java.util.PriorityQueue;

public class Round1B {
	public static void main(String[] args) throws IOException {
		BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter out = new PrintWriter(System.out);
		String[] split = f.readLine().split(" ");
		int n = Integer.parseInt(split[0]), q = Integer.parseInt(split[2]), k = Math.min(6, Integer.parseInt(split[1]));

		friend[] a = new friend[n];
		int[] t = new int[n]; split = f.readLine().split(" "); for(int i = 0; i < n; i++) t[i] = Integer.parseInt(split[i]);
		for(int i = 0; i < n; i++) {
			a[i] = new friend(i, t[i]);
		}
		PriorityQueue<friend> c = new PriorityQueue<friend>();
		boolean[] on = new boolean[n];
		int curMin = Integer.MAX_VALUE, curK = 0, largest = Integer.MIN_VALUE;
		for(int i = 0; i < q; i++) {

//			out.println(c.toString());

			//			out.println("i:" + i);
			split = f.readLine().split(" ");
			int op = Integer.parseInt(split[0]), num = Integer.parseInt(split[1])-1;
			//			out.println(t[num]);
			if(!on[num] && op==2) {
				//				out.println("1");
				out.println("NO");
				continue;
			}
			if(!on[num] && op==1 && curK < k) {
				//				out.println("2");
				on[num] = true;
				c.add(a[num]);
				largest = Math.max(largest, t[num]);
				curK++;
				continue;
			}
			if(!on[num] && op==1 && curK==k) {
//				out.println("3");
				if(c.size()==0 || a[num].v > c.peek().v) {
//					out.println("a");
					int l = c.poll().id;
					on[l] = false;
					c.add(a[num]);
					on[num] = true;
				}
			}
			if(on[num] && op==2) {
				//				out.println("4");
				out.println("YES");
			}
		}

		out.close();

	}
}

class friend implements Comparable<friend>{
	int id, v;
	public friend(int id, int v) {
		this.id = id;
		this.v = v;
	}
	public int compareTo(friend one) {
		return this.v-one.v;
	}

	public String toString() {return this.v+"";}
}
