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.*;

public class Main {

    public static void main(String[] args) {
        Scanner inC = new Scanner(System.in);
        String[] nums = inC.nextLine().split(" ");
        int n = Integer.parseInt(nums[0]);
        int k = Integer.parseInt(nums[1]);
        int q = Integer.parseInt(nums[2]);

        nums = inC.nextLine().split(" ");

        StringBuilder sb = new StringBuilder();

        int[] t = new int[n];
        for(int i = 0; i < n; i++)
        {
            t[i] = Integer.parseInt(nums[i]);
        }

        Comparator<Integer> comparator = new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                if(t[o1] > t[o2])
                    return 1;
                if (t[o1] == t[o2])
                        return 0;
                else
                    return -1;
            }
        };
        Set<Integer> kfriendson = new TreeSet<>(comparator);


        boolean isK = false;
        int Knum = 0;
        int minK = 1000000000;
        int minId = 0;

        for(int i = 0; i < q; i++)
        {
            String[] ques = inC.nextLine().split(" ");
            String type = ques[0];
            int id = Integer.parseInt(ques[1]);

            if(type.equals("1"))
            {
                if(!isK) {
                    Knum++;
                    kfriendson.add(id-1);
                    if(t[id-1] < minK)
                    {
                        minK = t[id-1];
                        minId = id-1;
                    }
                    if(Knum == k)
                        isK = true;
                }
                else
                {
                    if(t[id-1] > minK) {
                        kfriendson.remove(minId);
                        kfriendson.add(id-1);
                        minId = kfriendson.iterator().next();
                        minK = t[minId];
                    }
                }
            }
            else
            {
                if(kfriendson.iterator().next() > id-1)
                    sb.append("NO\n");
                else {
                    boolean istrue = false;
                    for (int elem : kfriendson) {
                        if (elem == id - 1) {
                            istrue = true;
                            break;
                        }
                    }
                    if (istrue)
                        sb.append("YES\n");
                    else
                        sb.append("NO\n");
                }
            }
        }
        System.out.print(sb);

    }
}
