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.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.TreeSet;


public class Problem_0658B {

    public static void main(String[] args) throws Exception {
        Scanner input = new Scanner();
        int n = input.nextInt();
        int k = input.nextInt();
        int q = input.nextInt();
        int[] t = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = input.nextInt();
        }
        TreeSet<Integer> last = new TreeSet<>();

        for (int i = 0; i < q; i++) {
            int choice = input.nextInt();
            int id = input.nextInt();
            Integer nw = t[id -1];
            if (choice == 1) {
                if (last.size() < k) {
                    last.add(nw);
                    continue;
                }
                Integer old = 0;
                for (Integer e : last) {
                    if (e < nw) {
                        old = e;
                        break;
                    }
                }
                if (old != 0) {
                    last.remove(old);
                    last.add(nw);
                }
            } else {
                if (last.contains(nw)) {
                    System.out.println("YES");
                } else {
                    System.out.println("NO");
                }
            }
        }

    }

    static class Scanner {
        final BufferedReader input;
        String[] buffer;
        int pos;


        public Scanner() {
            input = new BufferedReader(new InputStreamReader(System.in));
        }


        private String read() {
            try {
                if (buffer == null || pos >= buffer.length) {
                    buffer = input.readLine().split("\\s+");
                    pos = 0;
                }
                return buffer[pos++];
            } catch (Exception ex) {
                throw new RuntimeException(ex);
            }
        }

        long nextLong() {
            return Long.parseLong(read());
        }

        int nextInt() {
            return Integer.parseInt(read());
        }

        double nextDouble() {
            return Double.parseDouble(read());
        }

        String nextLine() {
            if (buffer != null && pos < buffer.length) {
                throw new RuntimeException("Buffer is not empty");
            }
            try {
                return input.readLine();
            } catch (Exception ex) {
                throw new RuntimeException(ex);
            }
        }
    }

}