#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void check_min(T& a, T b) {
  if (b < a) a = b;
}
template <class T>
inline void check_max(T& a, T b) {
  if (a < b) a = b;
}
const int MAX_N = 150100;
int n, k, qq, t[MAX_N];
int main() {
  scanf("%d%d%d", &n, &k, &qq);
  for (int i = 1; i <= n; ++i) scanf("%d", &t[i]);
  priority_queue<pair<int, int>> q;
  set<int> st;
  for (int i = 0; i < int(qq); ++i) {
    int type, id;
    scanf("%d%d", &type, &id);
    if (type == 1) {
      st.insert(id);
      q.emplace(-t[id], id);
      if (int((q).size()) > k) {
        st.erase(q.top().second);
        q.pop();
      }
    } else {
      printf("%s\n", st.count(id) ? "YES" : "NO");
    }
  }
  return 0;
}
