#include <bits/stdc++.h>
using namespace std;
unsigned long long k;
void add(vector<unsigned long long> &v, vector<unsigned long long> &online,
         unsigned long long &id) {
  if (online.size() < k) {
    online.push_back(id);
    return;
  }
  unsigned long long imin = 0;
  for (int i = 1; i < online.size(); ++i) {
    if (v[online[imin]] > v[online[i]]) imin = i;
  }
  if (v[id] < v[online[imin]])
    return;
  else {
    swap(online[imin], online[online.size() - 1]);
    online[online.size() - 1] = id;
  }
}
int main() {
  unsigned long long n, q;
  cin >> n >> k >> q;
  vector<unsigned long long> v(n + 1);
  for (unsigned long long i = 1; i <= n; ++i) cin >> v[i];
  vector<unsigned long long> online;
  for (unsigned long long i = 0; i < q; ++i) {
    unsigned long long z, id;
    cin >> z >> id;
    if (z == 1)
      add(v, online, id);
    else {
      bool f = true;
      for (int i = 0; i < online.size(); ++i)
        if (online[i] == id) {
          cout << "YES" << endl;
          f = false;
          break;
        }
      if (f) cout << "NO" << endl;
    }
  }
  return 0;
}
