#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, c, i, j, k, q, x, y;
  long long a[200000];
  scanf("%lld%lld%lld", &n, &k, &q);
  long long at;
  for (i = 0; i < n; i++) {
    scanf("%lld", &a[i]);
  }
  set<long long> myset;
  while (q--) {
    scanf("%lld%lld", &x, &y);
    if (x == 1) {
      if (at < k) {
        myset.insert(a[y - 1]);
        at++;
      } else {
        set<long long>::iterator it = myset.begin();
        long long lowest = *it;
        if (lowest < a[y - 1]) {
          myset.erase(lowest);
          it = myset.begin();
          myset.insert(a[y - 1]);
          lowest = *it;
        }
      }
    } else {
      if (myset.find(a[y - 1]) != myset.end())
        printf("YES\n");
      else
        printf("NO\n");
    }
  }
  return 0;
}
