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.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.InputMismatchException;

public class Div2_658_2 {
	public static void main(String[] args) throws Exception {
		PrintWriter pr = new PrintWriter(System.out, true);
		InputReader in = new InputReader(System.in);
		int n,k,q,i,j,que[],t[],l,quev[],id,v,f;
		n=in.readInt();k=in.readInt();q=in.readInt();que=new int[k+1];t=new int[n];quev=new int[k+1];l=0;
		for(i=0;i<n;i++) t[i]=in.readInt();
		while(q-->0){
			if(in.readInt()==1){
				id=in.readInt()-1;v=t[id];
				for(i=k-1;i>=0;i--){
					if(quev[i]<v){
						quev[i+1]=quev[i];que[i+1]=que[i];
					}
					else break;
				}
				quev[i+1]=v;que[i+1]=id;
			}
			else{f=0;
				id=in.readInt()-1;
				for(i=0;i<k;i++){
					if(que[i]==id&&quev[i]>0){
						f=1;
					}
				}
				if(f==1) pr.println("YES");else pr.println("NO");
			}
		}
	
	
	}
}
class InputReader {
    private InputStream stream;
    private byte[] buf = new byte[102400];
    private int curChar;
    private int numChars;
   
    public InputReader(InputStream stream) {
            this.stream = stream;
    }
    public final 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 final 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 final 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 final 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 final  static boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }
    public final String next() {
            return readString();
    }
}