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.lang.*;
import java.io.*;
import java.util.*;


public class Friends {
	
	public static void main(String[] args) throws java.lang.Exception {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		InputReader in = new InputReader(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskA solver = new TaskA();
		solver.solve(in, out);
		out.close();
	}
}

class TaskA {
	public final static int maxn = 150005;
	boolean[] visit = new boolean[maxn];
	int[] a = new int[maxn];
	
	public void solve(InputReader in, PrintWriter out) {
		int n = in.nextInt(), K = in.nextInt(), q = in.nextInt();
		PriorityQueue<node> Q = new PriorityQueue<node>();
		
		Arrays.fill(visit, false);
		for (int i=1; i<=n; ++i) a[i] = in.nextInt();
		
		int op, id;
		int sz = 0;
		
		while (q-- > 0) {
			op = in.nextInt();
			id = in.nextInt();
			if (op == 2) {
				out.println(visit[id] ? "YES":"NO");
			} else {
				visit[id] = true;
				Q.add(new node(a[id], id));
				++sz;
				if (sz > K) {
					node nd = Q.poll();
					visit[nd.id] = false;
					--sz;
				}
			}
		}
	}
}

class node implements Comparable<node> {
	public int t, id;
	
	public node(int t, int id) {
		this.t = t;
		this.id = id;
	}
	
	public int compareTo(node o) {
		return t - o.t;
	}
}

class InputReader {
	public BufferedReader reader;
	public StringTokenizer tokenizer;
	
	public InputReader(InputStream stream) {
		reader = new BufferedReader(new InputStreamReader(stream), 32768);
		tokenizer = null;
	}
	
	public String next() {
		while (tokenizer==null || !tokenizer.hasMoreTokens()) {
			try {
				tokenizer = new StringTokenizer(reader.readLine());
			} catch (IOException e) {
				throw new RuntimeException(e);
			}
		}
		return tokenizer.nextToken();
	}
	
	public int nextInt() {
		return Integer.parseInt(next());
	}
	
	public long nextLong() {
		return Long.parseLong(next());
	}
}