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.Scanner;
public class BearFriends{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int k=scan.nextInt();
int q=scan.nextInt();
long[] t=new long[n+1];
int[] online=new int[n+1];
int[] displaying =new int[k+1];
int already=0;
int index=1;
for(int i=0;i<n;i++)
{
	t[i+1]=scan.nextInt();
}
while(q-- > 0){
/*System.out.println("display");
for(int i=1;i<=k;i++)
	System.out.print(displaying[i]+" ");
System.out.println();*/
int a=scan.nextInt();
int b=scan.nextInt();
if(a==1){
	online[b]	=1;already++;
	if(already>k){
	int loc=1;
	for(int i=1;i<=k;i++)
	{
		if(t[displaying[i]]>t[b]) loc++;
		
	}
if(loc>k);
else{
int index1=1;
for(int i=2;i<=k;i++)
{
	if(t[displaying[i]]<t[displaying[index1]]) index1=i;
}
displaying[index1]=b;



}//else
//	displaying[index]=b;

}//ifalready
	else
	displaying[index++]=b;
continue;

}
if(online[b]!=1)
	System.out.println("NO");
else
	{
		boolean flag=false;
		for(int i=1;i<=k;i++)
			if(displaying[i]==b)
				{flag=true;break;}
			if(flag) System.out.println("YES");
			else System.out.println("NO");
	}








}//while



}


}