#include <bits/stdc++.h>
using namespace std;
struct Order {
  bool operator()(pair<int, int> const& a, pair<int, int> const& b) const {
    return a.second > b.second;
  }
};
int main() {
  int n, q, k;
  cin >> n >> k >> q;
  int t[150001];
  priority_queue<pair<int, int>, vector<pair<int, int> >, Order> Q;
  for (int i = 0; i < n; ++i) {
    cin >> t[i];
  }
  for (int i = 0; i < q; ++i) {
    int temp;
    cin >> temp;
    if (temp == 1) {
      int p1;
      cin >> p1;
      Q.push(make_pair(p1, t[p1 - 1]));
      while (Q.size() > k) Q.pop();
    } else if (temp == 2) {
      int find;
      cin >> find;
      priority_queue<pair<int, int>, vector<pair<int, int> >, Order> temp = Q;
      bool found = false;
      while (!temp.empty()) {
        if (temp.top().first == find) {
          found = true;
          break;
        }
        temp.pop();
      }
      if (found == true)
        cout << "YES";
      else
        cout << "NO";
      cout << endl;
    }
  }
  return 0;
}
