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

public class Main {

    public static void main(String[] args) throws Exception {
        InputReader in = new InputReader(System.in);
        PrintWriter out = new PrintWriter(System.out);
        //-----------------------------------------------------------------------
        int n = in.nextInt();
        int k = in.nextInt();
        int qq = in.nextInt();
        PriorityQueue<Pair> q = new PriorityQueue(new Pair());
        int[] a = new int[n];
        boolean[] on = new boolean[n];
        for (int i = 0; i < n; i++) {
            a[i] = in.nextInt();
        }
        while (qq > 0) {
            int x = in.nextInt();
            if (x == 1) {
                int y = in.nextInt() - 1;
                if (q.size() == k) {
                    Pair z = q.poll();
                    on[z.second] = false;
                    if (a[y] > z.first) {
                        q.add(new Pair(a[y], y));
                        on[y] = true;
                    } else {
                        q.add(z);
                        on[z.second] = true;
                    }
                } else {
                    q.add(new Pair(a[y], y));
                    on[y] = true;
                }
            } else {
                int y = in.nextInt() - 1;
                if (on[y]) {
                    out.append("YES\n");
                } else {
                    out.append("NO\n");
                }
            }
            qq--;
        }
        out.flush();
        //-----------------------------------------------------------------------
        out.close();
    }
}

class Pair implements Comparator {

    int first, second;

    public Pair() {

    }

    public Pair(int f, int s) {
        this.first = f;
        this.second = s;
    }

    @Override
    public int compare(Object o1, Object o2) {
        Pair p1 = (Pair) o1;
        Pair p2 = (Pair) o2;
        int ret = Integer.compare(p1.first, p2.first);
        return ret;
    }
}

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());
    }
}
