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.*;
import java.util.*;
public final class vk_cup_b
{
    static FastScanner sc=new FastScanner(new BufferedReader(new InputStreamReader(System.in)));
    static PrintWriter out=new PrintWriter(System.out);
	static final String s1="YES",s2="NO";
	static Map<Integer,Integer> m1=new HashMap<Integer,Integer>(),m2=new HashMap<Integer,Integer>();
	
	public static void main(String args[]) throws Exception
	{
		int n=sc.nextInt(),k=sc.nextInt(),q=sc.nextInt();
		Node[] a=new Node[n];
		for(int i=0;i<n;i++)
		{
			a[i]=new Node(i,sc.nextInt());
			m1.put(i,a[i].val);
			m2.put(a[i].val,i);
		}
		List<Integer> list=new ArrayList<Integer>();
		int[] state=new int[n];
		while(q>0)
		{
			int type=sc.nextInt();
			if(type==1)
			{
				int idx=sc.nextInt()-1;
				if(list.size()<k)
				{
					int power=m1.get(idx);
					list.add(power);
					state[idx]=1;
				}
				else
				{
					int power=m1.get(idx),min=Integer.MAX_VALUE,minidx=-1;
					for(int i=0;i<list.size();i++)
					{
						if(power>list.get(i) && list.get(i)<min)
						{
							min=list.get(i);
							minidx=m2.get(list.get(i));
						}
					}
					if(minidx!=-1)
					{
						state[minidx]=0;
						list.add(power);
						list.remove((Object)min);
						state[idx]=1;
					}
				}
			}
			else
			{
				int idx=sc.nextInt()-1;
				out.println((state[idx]==1)?s1:s2);
			}
			q--;
		}
		out.close();
	}
}
class Node
{
	int idx,val;
	public Node(int idx,int val)
	{
		this.idx=idx;
		this.val=val;
	}
}
class FastScanner
{
    BufferedReader in;
    StringTokenizer st;

    public FastScanner(BufferedReader in) {
        this.in = in;
    }
	
    public String nextToken() throws Exception {
        while (st == null || !st.hasMoreTokens()) {
            st = new StringTokenizer(in.readLine());
        }
        return st.nextToken();
    }
	
	public String next() throws Exception {
		return nextToken().toString();
	}
	
    public int nextInt() throws Exception {
        return Integer.parseInt(nextToken());
    }

    public long nextLong() throws Exception {
        return Long.parseLong(nextToken());
    }

    public double nextDouble() throws Exception {
        return Double.parseDouble(nextToken());
    }
}