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

/**
 * Created by Utilisateur on 28/03/2016.
 */

var l1 = readline().split(' '),
    n = parseInt(l1[0]),
    k = parseInt(l1[1]),
    q = parseInt(l1[2]),
    t = readline().split(' '),
    screen = [],
    nScreen = 0,
    minScreen = -1,
    minScreenIndex = -1

for (i = 0 ; i < n ; i++) {
  t[i] = parseInt(t[i])
}

function online(f) {
  if (nScreen < k) {
    nScreen++
    screen[f] = 1
    if (minScreen == -1 || t[f] < minScreen) {
      minScreen = t[f]
      minScreenIndex = f
    }
  } else {

    if (t[f] > minScreen) {
      screen[minScreenIndex] = 0
      screen[f] = 1
      minScreen = t[f]
      minScreenIndex = f
    }
  }
}

function screened(f) {
  if (screen[f]) print("YES")
  else print("NO")
}

for (i = 0 ; i < q ; i++) {
  var l = readline().split(' ')

  if (l[0] == 1) online(parseInt(l[1])-1)
  else screened(parseInt(l[1])-1)
}
