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.Arrays;
import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author root
 */
public class B {

    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = in.nextInt();
        int q = in.nextInt();
        int[] t = new int[n];
        int[] frame = new int[k];
        Arrays.fill(frame, -1);
        for (int i = 0; i < n; i++) {
            t[i] = in.nextInt();
        }
        StringBuilder ans = new StringBuilder();
        for (int i = 0; i < q; i++) {
            int type = in.nextInt();
            int j = in.nextInt();
            switch (type) {
                case 1: {
                    boolean inserted = false;
                    for (int x = 0; x < k; x++) {
                        if (frame[x] == -1) {
                            frame[x] = j;
                            inserted = true;
                            break;
                        }
                    }
                    if (!inserted) {
                        int minIndex = 0;
                        int min = Integer.MAX_VALUE;
                        for (int x = 0; x < k; x++) {
                            if (t[frame[x] - 1] < min) {
                                minIndex = x;
                                min = t[frame[x] - 1];
                            }
                        }
                        frame[minIndex] = j;
                    }
                }
                break;
                case 2: {
                    boolean found = false;
                    for (int x = 0; x < k; x++) {
                        if (frame[x] == j) {
                            found = true;
                            ans.append("YES\n");
                            break;
                        }
                    }
                    if (!found) {
                        ans.append("NO\n");
                    }
                }
                break;
                default:
                    break;
            }
        }
        System.out.println(ans.toString());
    }
}
