#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, k, q;
  cin >> n >> k >> q;
  set<pair<long long, long long> > tops;
  vector<bool> used(n, false);
  vector<long long> fr(n);
  for (long long i = 0; i < n; i++) {
    cin >> fr[i];
  }
  for (long long i = 0; i < q; i++) {
    long long type, id;
    cin >> type >> id;
    id--;
    if (type == 1) {
      used[id] = true;
      tops.insert(make_pair(fr[id], id));
      if (tops.size() > k) {
        tops.erase(tops.begin());
      }
    } else {
      if (used[id] && (*(tops.begin())).first <= fr[id]) {
        cout << "YES" << endl;
      } else
        cout << "NO" << endl;
    }
  }
  cin >> n;
  return 0;
}
