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 collections
n, k, q = map(int, raw_input().split())

point = map(int, raw_input().split())
friends = dict()

points = dict()
for i in range(1, n + 1):

	points[i] = point[i - 1]
points[0] = 0

pointstable = collections.OrderedDict()
for i in range(1, n + 1):

	friends[i] = 0

stack = []
mini = 0
for i in range(q):


	query, friend = map(int, raw_input().split())

	if i == 0:
		mini = friend
	
	if query == 1:

		if len(stack) == k:

			friends[mini] = 0
			stack.remove(mini)
			stack.append(friend)
			friends[friend] = 1
			pointstable = collections.OrderedDict()
			for i in friends:
				if friends[i]:
					pointstable[i] = points[i]

			mini = min(pointstable, key = pointstable.get)

		else:

			stack.append(friend)
			friends[friend] = 1

		if points[mini] > points[friend]:

				mini = friend

	else:

		if friends[friend]:
			print "YES"
		else:
			print "NO"







