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 <bits/stdc++.h>
using namespace std;
int mas_ot[150101] = {0};
int mas_k[80][2] = {-1};
int n, k, q;
int k_int = 0;
int temp;
int add_to_k(int id, int otn) {
  if (k_int < k) {
    mas_k[k_int][0] = otn;
    mas_k[k_int][1] = id;
    k_int++;
  } else {
    temp = -1;
    for (int j = 0; j < k; j++)
      if (mas_k[j][0] < otn) temp = j;
    if (temp != -1) {
      mas_k[temp][0] = otn;
      mas_k[temp][1] = id;
    }
  }
  return 0;
}
int friends_visible(int id) {
  for (int j = 0; j < k; j++)
    if (mas_k[j][1] == id) {
      cout << "YES" << endl;
      return 0;
    }
  cout << "NO" << endl;
  return 0;
}
int main() {
  std::ios::sync_with_stdio(false);
  cin >> n >> k >> q;
  for (int i = 0; i < 80; i++) {
    mas_k[i][0] = -1;
    mas_k[i][1] = -1;
  }
  for (int i = 0; i < n; i++) cin >> mas_ot[i];
  int status = -1;
  int friend_otn;
  int friend_come;
  for (int i = 0; i < q; i++) {
    cin >> status;
    if (status == 1) {
      cin >> friend_come;
      friend_otn = mas_ot[friend_come - 1];
      add_to_k(friend_come, friend_otn);
    } else {
      cin >> friend_come;
      friends_visible(friend_come);
    }
  }
  return 0;
}
