1 1 1
1000000000
2 1
 20 2 15
12698951 55128070 116962690 156763505 188535242 194018601 269939893 428710623 442819431 483000923 516768937 552903993 633087286 656092270 671535141 714291344 717660646 846508634 879748146 937368929
2 7
1 2
2 4
1 19
1 12
1 5
2 18
2 11
1 16
2 1
2 3
2 19
1 17
2 9
2 6
 6 3 10
62417580 78150524 410053501 582708235 630200761 760672946
2 2
1 5
1 2
1 4
2 4
2 1
2 1
1 6
2 5
2 6

NO
 NO
NO
NO
NO
NO
NO
YES
NO
NO
 NO
YES
NO
NO
YES
YES

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @author 
 *
 *
 *
 */

public class Main {
	
	public String[]  find(int max, int[] members, String[] queries) {

        List<String> res = new ArrayList<String>();
        List<Integer> onLine = new ArrayList<Integer>();

        for (int i = 0; i < queries.length; i++) {
            int m = members[Integer.parseInt( queries[i].split(" ")[1]) - 1 ];
            if (queries[i].startsWith("1")) {
                if (onLine.isEmpty()) {
                    onLine.add( m );
                } else {
                    if (onLine.size() < max) {
                        int j = -1;
                        for ( j = 0; j < onLine.size() ; j++) {
                            if ( m  >= onLine.get(j)  ) {
                            } else {
                                break;
                            }
                        }
                        onLine.add(j, m);
                    } else {
                        if (onLine.get( 0 ) < m) {
                            onLine.remove(0);
                            int j = -1;
                            for ( j = 0; j < onLine.size() ; j++) {
                                if ( m  >= onLine.get(j)  ) {
                                } else {
                                    break;
                                }
                            }
                            onLine.add(j, m);
                        }
                    }
                }

            } else {
                if (onLine.contains(m)) {
                    res.add("YES");
                } else {
                    res.add("NO");
                }
            }
        }

        return res.toArray(new String[0]);
	}
	
	public static void main(String[] args) throws IOException {
		MyScanner scanner = new MyScanner();
		PrintStream out = System.out;

		Main main = new Main();

        /**
         *
         4 2 8
         300 950 500 200
         1 3
         2 4
         2 3
         1 1
         1 2
         2 1
         2 2
         2 3 4 2 8
         300 950 500 200
         1 3
         2 4
         2 3
         1 1
         1 2
         2 1
         2 2
         2 3
         */

		int data[] = scanner.nextIntArray();
        int members[] = scanner.nextIntArray();
        String[] queries  = new  String[ data[2] ];

        for (int i = 0; i < data[2]; i++) {
            queries[i] = scanner.next();
        }

        String[] strings  = main.find(data[1], members, queries);

        for (String string : strings ) {
            out.println(string);
        }

		scanner.reader.close();
		out.close();
	}

	// -----------MyScanner class for faster input----------
	public static class MyScanner {
		BufferedReader reader;

		public MyScanner() {
			this.reader = new BufferedReader(new InputStreamReader(System.in));
		}

		public void close() throws IOException {
			this.reader.close();
		}

		int nextInt() {
			return Integer.parseInt(this.next());
		}

		long nextLong() {
			return Long.parseLong(this.next());
		}

		double nextDouble() {
			return Double.parseDouble(this.next());
		}

		String next() {
			String str = "";
			try {
				str = this.reader.readLine().trim();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return str;
		}

		String[] nextStringArray() {
			String[] str = null;
			try {
				str = this.reader.readLine().trim().split(" ");
			} catch (IOException e) {
				e.printStackTrace();
			}
			return str;
		}

		int[] nextIntArray() {
			String[] data  = nextStringArray();
			int[] a  = new int[data.length];

			for (int i = 0; i < a.length; i++) {
				a[i] = Integer.parseInt(data[i]);
			}

			return a;
		}

		Integer[] nextIntegerArray() {
			String[] data  = nextStringArray();
			Integer[] a  = new Integer[data.length];

			for (int i = 0; i < a.length; i++) {
				a[i] = Integer.parseInt(data[i]);
			}

			return a;
		}

		long[] nextLongArray() {
			String[] data  = nextStringArray();
			long[] a  = new long[data.length];

			for (int i = 0; i < a.length; i++) {
				a[i] = Long.parseLong(data[i]);
			}

			return a;
		}
	}
}

