import std.algorithm;
import std.bigint;
import std.concurrency;
import std.container;
import std.conv;
import std.functional;
import std.format;
import std.math;
import std.meta;
import std.numeric;
import std.random;
import std.range;
import std.stdio;
import std.string;
import std.traits;
import std.typecons;


immutable string YES = "Yes";
immutable string NO = "No";


auto solve(long N, long K, long Q, long[] A) {
    auto scores = new long[](N);
    foreach (a; A) {
        scores[a - 1]++;
    }
    foreach (i; 0 .. N) {
        writeln(K - (Q - scores[i]) <= 0 ? NO : YES);
    }
}


void main() {
    auto input = stdin.byLine.map!split.joiner;

    long N;
    N = input.front.to!long;
    input.popFront;

    long K;
    K = input.front.to!long;
    input.popFront;

    long Q;
    Q = input.front.to!long;
    input.popFront;

    long[] A = new long[](cast(size_t) (Q));
    foreach (i; 0 .. cast(size_t) (Q)) {
        A[i] = input.front.to!long;
        input.popFront;
    }

    static if (is(ReturnType!solve == void))
        solve(N, K, Q, A);
    else
        solve(N, K, Q, A).writeln;
}
