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

//package bearanddisplayfriend_vkcup2016;

import java.util.*;

public class BearAndDisplayFriend_VkCup2016 {

    public static int n, k, q, m, nItem;
    public static int[] t = new int[150005];
    public static int[] Pos = new int[150005];
    public static int[] Heap = new int[150005];
    public static boolean[] Lighted = new boolean[150005];
    
    public static void Push(int v){
        int c, p;
        c = Pos[v];
        if(c == 0){
            nItem++; c = nItem;
        }
        while(true){
            p = c / 2;
            if(p == 0 || t[Heap[p]] <= t[v]) break;
            Heap[c] = Heap[p];
            Pos[Heap[c]] = c;
            c = p;
        }
        Heap[c] = v;
        Pos[v] = c;
    }
    
    public static int Pop(){
        int ans, p, c, v;
        ans = Heap[1];
        v = Heap[nItem]; nItem--;
        p = 1;
        while(true){
            c = p * 2;
            if(c < nItem && t[Heap[c + 1]] < t [Heap[c]]) c++;
            if(c > nItem || t[Heap[c]] < t[v]) break;
            Heap[p] = Heap[c];
            Pos[Heap[p]] = p;
            p = c;
        }
        Heap[p] = v;
        Pos[v] = p;
        return ans;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        m = 0; nItem = 0;
        for(int i = 1; i <= 150000; i++){
            Pos[i] = 0; Lighted[i] = false;
        }
        
        n = sc.nextInt();
        k = sc.nextInt();
        q = sc.nextInt();
        for(int i = 1; i <= n; i++) t[i] = sc.nextInt();
        for(int i = 1; i <= q; i++){
            int type, id;
            type = sc.nextInt(); 
            id = sc.nextInt();
            if(type == 1){
                if(m < k) 
                {
                    Push(id);
                    Lighted[id] = true;
                    m++;
                } else {
                    int u = Pop();
                    //System.out.println(u);
                    Lighted[u] = false;
                    if(t[u] < t[id]){
                        Push(id);
                        Lighted[id] = true;
                    } else {
                        Push(u);
                        Lighted[u] = true; 
                    }
                }
            } else {
                if(!Lighted[id]) System.out.println("NO");
                else System.out.println("YES");
            }
        }
    }
    
}
