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.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Arrays;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.InputMismatchException;
import java.util.Stack;
import java.util.StringTokenizer;
import java.util.TreeSet;
public class Main {
	public interface SpaceCharFilter {
		public boolean isSpaceChar(int ch);
		}
	class InputReader {
 
 
		private InputStream stream;
 
		private byte[] buf = new byte[1024];
 
		private int curChar;
 
		private int numChars;
 
		private SpaceCharFilter filter;
		
 
		public InputReader(InputStream stream) {
 
			this.stream = stream;
 
		}
 
 
		public int read() {
 
			if (numChars == -1)
 
				throw new InputMismatchException();
 
			if (curChar >= numChars) {
 
				curChar = 0;
 
				try {
 
					numChars = stream.read(buf);
 
				} catch (IOException e) {
 
					throw new InputMismatchException();
 
				}
 
				if (numChars <= 0)
 
					return -1;
 
			}
 
			return buf[curChar++];
 
		}
 
 
		public int readInt() {
 
			int c = read();
 
			while (isSpaceChar(c))
 
				c = read();
 
			int sgn = 1;
 
			if (c == '-') {
 
				sgn = -1;
 
				c = read();
 
			}
 
			int res = 0;
 
			do {
 
				if (c < '0' || c > '9')
 
					throw new InputMismatchException();
 
				res *= 10;
 
				res += c - '0';
 
				c = read();
 
			} while (!isSpaceChar(c));
 
			return res * sgn;
 
		}
		
		public long readLong() {
 
			int c = read();
 
			while (isSpaceChar(c))
 
				c = read();
 
			int sgn = 1;
 
			if (c == '-') {
 
				sgn = -1;
 
				c = read();
 
			}
 
			long res = 0;
 
			do {
 
				if (c < '0' || c > '9')
 
					throw new InputMismatchException();
 
				res *= 10;
 
				res += c - '0';
 
				c = read();
 
			} while (!isSpaceChar(c));
 
			return res * sgn;
 
		}
 
 
		public String readString() {
 
			int c = read();
 
			while (isSpaceChar(c))
 
				c = read();
 
			StringBuilder res = new StringBuilder();
 
			do {
 
				res.appendCodePoint(c);
 
				c = read();
 
			} while (!isSpaceChar(c));
 
			return res.toString();
 
		}
 
 
		public boolean isSpaceChar(int c) {
 
			if (filter != null)
 
				return filter.isSpaceChar(c);
 
			return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
 
		}
 
 
		public String next() {
 
			return readString();
 
		}
 
 
 
	}
 
 
class OutputWriter {
 
		private final PrintWriter writer;
 
 
		public OutputWriter(OutputStream outputStream) {
 
			writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
 
		}
 
 
		public OutputWriter(Writer writer) {
 
			this.writer = new PrintWriter(writer);
 
		}
 
 
		public void print(Object...objects) {
 
			for (int i = 0; i < objects.length; i++) {
 
				if (i != 0)
 
					writer.print(' ');
 
				writer.print(objects[i]);
 
			}
 
		}
 
 
		public void printLine(Object...objects) {
 
			print(objects);
 
			writer.println();
 
		}
 
 
		public void close() {
 
			writer.close();
 
		}
 
 
		public void flush() {
 
			writer.flush();
 
		}
 
 
		}
 
	/**
	 * @param args
	 */
	InputReader in= new InputReader(System.in);
	OutputWriter out = new OutputWriter(System.out);
	    StringTokenizer tok;
	   
	    
	    public static void main(String[] args) throws IOException
	    {
	       new Main().run();
	    }
	    void run() throws IOException
	    {
	    	
	       solve();
	       out.flush();
	       tok=null;
	    }
	    
	    void solve() throws IOException{
	    	int n=in.readInt();
	    	int k=in.readInt();
	    	int q=in.readInt();
	    	TreeSet<Integer> tS=new TreeSet<Integer>();
	    	int[] key=new int[n];
	    	for (int i=0;i<n;++i){
	    		key[i]=in.readInt();
	    	}
	    	for (int i=0;i<q;++i){
	    		int x=in.readInt();
	    		int id=in.readInt();
	    		if (x==1){
	    			 tS.add(key[id-1]);
	    			 if (tS.size()==k+1){
	    				 tS.pollFirst();
	    			 }
	    		}else{
	    			if (tS.contains(key[id-1])){
	    				out.printLine("YES");
	    			}else{
	    				out.printLine("NO");
	    			}
	    		}
	    	}
	    }
	    
}