#include <bits/stdc++.h>
int t[150001];
int awaken[150001];
int main() {
  int n, k, q;
  scanf("%d %d %d", &n, &k, &q);
  int i, j;
  for (i = 1; i <= n; i++) {
    scanf("%d", &t[i]);
    awaken[i] = 0;
  }
  t[0] = -1;
  if (k > 6) {
    k = 6;
  }
  int window[6];
  int min_in_window = -1;
  for (i = 0; i < k; i++) {
    window[i] = 0;
  }
  int type, friend_id;
  for (i = 0; i < q; i++) {
    scanf("%d %d", &type, &friend_id);
    if (type == 1) {
      awaken[friend_id] = 1;
      if (t[friend_id] >= min_in_window) {
        int min_j = 0;
        for (j = 1; j < k; j++) {
          if (t[window[j]] < t[window[min_j]]) {
            min_j = j;
          }
        }
        window[min_j] = friend_id;
        min_in_window = 1000000000;
        for (j = 0; j < k; j++) {
          if (t[window[j]] < min_in_window) {
            min_in_window = t[window[j]];
          }
        }
      }
    } else {
      if (!awaken[friend_id] || t[friend_id] < min_in_window) {
        printf("NO\n");
      } else {
        printf("YES\n");
      }
    }
  }
  return 0;
}
