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

#include<iostream>
using namespace std;


void main()
{
	int n, max, q, nquery=0, tmp=0, tmp1=0, z=0;
	cin>>n>>max>>q;
	int x,y;
	int*rel = new int[n];
	int*queries = new int[q];
	for(int i=0; i<n; ++i)
		cin>>rel[i];
	for (int i=0; i<q;++i)
	{
	cin>>x;
		if(x==1)
		{
			cin>>queries[i];
			++nquery;
			tmp = queries[i]-1;
			if(i>0)
				tmp1 = queries[i-1]-1;
			if(rel[tmp] < rel[tmp1] && i!=0)
			{
				tmp=queries[i];
				queries[i]=queries[i-1];
				queries[i-1]=tmp;
			}
		}
		else if(x==2)
		{
			cin>>y;
			for(int i=0; i<nquery; ++i)
			{
				if(y==queries[i])
				{
					if(nquery<=max)
					{
						cout<<"YES"<<endl;
						z=1;
						break;
					}
					else if (nquery>max && i>0)
					{
						cout<<"YES"<<endl;
						z=1;
						break;
					}
					else if(nquery>max && i==0)
					{
						cout<<"NO"<<endl;
						z=1;
						break;
					}
				}
			}
			if(z==0)
				cout<<"NO"<<endl;
			else
				z=0;
			
			
		}

	}
}