#include <bits/stdc++.h>
using namespace std;
const int MAX = 1e4 * 15 + 10;
map<int, int> inter;
int stat[MAX];
int main() {
  vector<pair<int, int> > dis;
  int n, k, q, a, id, qur;
  scanf("%d%d%d", &n, &k, &q);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a);
    inter[i] = a;
  }
  for (int i = 1; i <= q; i++) {
    scanf("%d%d", &qur, &id);
    if (qur == 1) {
      stat[id] = 1;
      if (dis.size() < k)
        dis.push_back(make_pair(inter[id], id));
      else {
        sort(dis.begin(), dis.end());
        int len = dis.size();
        for (int i = 0; i < len; i++) {
          if (inter[id] > dis[i].first) {
            dis[i].first = inter[id];
            dis[i].second = id;
            break;
          }
        }
      }
    } else if (qur == 2) {
      int len = dis.size(), f = 0, uu = 1;
      int is = min(k, len);
      if (!stat[id]) uu = 0;
      if (uu)
        for (int i = 0; i < is && uu; i++) {
          if (dis[i].second == id) {
            f = 1;
            break;
          }
        }
      if (f)
        printf("YES\n");
      else
        printf("NO\n");
    }
  }
  return 0;
}
