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

from collections import deque
MAX = 0
MIN = 0
n,k,q = [int(i) for i in input().split()]

nn = {}
m = [int(i) for i in input().split()]
kk = []
for i in range(1,n+1):
    nn[m[i-1]] = 0

def app(i):
    global MAX,MIN
    v = m[i-1]
    if len(kk) < k:
        kk.append(v)
        return True
    elif len(kk) == k:
        kk.sort()
        MAX = kk[k-1]
        MIN = kk[0]
        if v<MIN:return False
        else:
            kk.append(v)
            c = kk.pop(0)
            nn[c] -=1
            return True

for i in range(q):
    qq = [int(i) for i in input().split()]
    if qq[0] ==1:
        nn[m[qq[1]-1]] = 1
        if app(qq[1]):
            nn[m[qq[1]-1]] = 2
    if qq[0] ==2:
        if nn[m[qq[1]-1]]==2:
            print('YES')
        else:print('NO')


