module app;

import core.bitop;

import std.algorithm;
import std.array;
import std.bigint;
import std.conv;
import std.stdio;
import std.string;

void main()
{
    Input input = void;
    parseInput(input, stdin);
    main2(&input);
//    writeln(result);
}

auto main2(Input* input)
{
	uint[100000] seikaisuu;
	foreach (ai; input.a)
	{
		seikaisuu[ai-1]++;
	}

	for (int i = 0; i < input.n; i++)
	{
		if (input.q - seikaisuu[i] >= input.k)
		{
			writeln("No");
		}
		else
		{
			writeln("Yes");
		}
	}
}

struct Input
{
	uint n,k,q;
    uint[] a;
}

void parseInput(T)(out Input input, T file)
{
    with (file) with (input)
    {
		auto nkq = readln().strip().split().array().map!(a=>a.to!uint);
		n = nkq[0];
		k = nkq[1];
		q = nkq[2];
		a.length = q;
		foreach (i; 0..q)
		{
			a[i] = readln().strip().to!uint;
		}
    }
}

void parseExample(out Input input, string example)
{
    struct Adapter
    {
        import std.string;
        string[] _lines;
        this(string input) { _lines = input.splitLines(); }

        string readln()
        {
            auto line = _lines[0];
            _lines = _lines[1..$];
            return line;
        }
    }
    Adapter a = Adapter(example);
    parseInput(input, a);
}
