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.*;
import java.math.*;
import java.util.*;
/**
 * @author ramilagger
 *
 */
public class Main {

    final boolean ONLINE_JUDGE = System.getProperty("ONLINE_JUDGE") != null;
    
    public void solve() throws Exception {
        int n = nextInt();
        int k = nextInt();
        int q = nextInt();
        int[] win = new int[k];
        int rating[] = new int[k];
        int[] id = new int[n + 1];
        Arrays.fill(win,-1);
        Arrays.fill(rating,-1);

        for (int i = 1; i < n + 1; i++) {
            id[i] = nextInt();
        }

        int t, r,min,in;
        outer: for (int i = 0; i < q; i++) {

            t = nextInt();
            r = nextInt();
            if(t == 2){

                for (int j = 0; j < k; j++) {
                    if (win[j] == r) {
                        pw.println("YES");
                        continue outer;
                    }
                }

                pw.println("NO");
            }

            if (t == 1) {

                for (int j = 0; j < k; j++) {
                    if (win[j] == -1) {
                        rating[j] = id[r];
                        win[j] = r;
                        continue outer;
                    }
                }

                min = Integer.MAX_VALUE;
                in = -1;
                for (int j = 0; j < k; j++) {
                    if (rating[j] < min) {
                        min = rating[j];
                        in = j;
                    }
                }
                if(rating[in] < id[r]){
                        win[in] = r;
                        rating[in] = id[r];
                    }
                }
            }
    }


    public void run() throws Exception{
        long start = System.currentTimeMillis();
        solve();
        if(!ONLINE_JUDGE){
            long end = System.currentTimeMillis();
            System.err.println(end - start + " ms");
        }
        pw.close();
    }

    public Main() throws Exception {

        br = (ONLINE_JUDGE) ? new BufferedReader(new InputStreamReader(System.in))
                : new BufferedReader(new FileReader("in.txt"));

        pw = (ONLINE_JUDGE) ?
                new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)))
                : new PrintWriter(new BufferedWriter(new FileWriter("out.txt")));

    }

    public static void main(String[] args) throws Exception {
        new Main().run();
    }

    public String next() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            st = new StringTokenizer(br.readLine());
        }
        return st.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(next());
    }

    public long nextLong() throws IOException {
        return Long.parseLong(next());
    }

    public double nextDouble() throws IOException {
        return Double.parseDouble(next());
    }

    public BigInteger nextBigInteger () throws IOException {
        return new BigInteger(next());
    }

    public String nextLine() throws IOException {
        while (st == null || !st.hasMoreTokens()) {
            return br.readLine();
        }
        StringBuilder sb = new StringBuilder(st.nextToken());
        while (st.hasMoreTokens()){
            sb.append(" " + st.nextToken());
        }
        return sb.toString();
    }

    public int[] nextArray(int n) throws IOException {
        int[] temp = new int[n];
        for (int i = 0; i < n; i++) {
            temp[i] = nextInt();
        }
        return temp;
    }

    public long[] nextLArray(int n) throws IOException {
        long[] temp = new long[n];
        for (int i = 0; i < n; i++) {
            temp[i] = nextLong();
        }
        return temp;
    }

    final BufferedReader br;
    final PrintWriter pw;
    StringTokenizer st;

}