'use strict';

const input = require('fs').readFileSync('/dev/stdin', 'utf8').trim().split('\n');
let Nums = input.shift();
let N = Nums.split(" ")[0];
let K = Nums.split(" ")[1];
let Q = Nums.split(" ")[2];
let Aarr = input.map(x => x*1);
// この人数分だけyesの数は出るっぽい
let diff = Q - K;
if(diff < 0){
  for(let i = 1; i <= N; i++){
     console.log("Yes");
  }
  return;
}

// 出てくる頻度順に並べる？
// これは借り物のロジック
// 頻度のオブジェクト
let obj = {};
for (let i = 0, j = Aarr.length; i < j; i++) {
   obj[Aarr[i]] = (obj[Aarr[i]] || 0) + 1;
}

// 多分出てきたvalueがdiffより大きかったらそれは勝ち残れるっぽい
for(let i = 1; i <= N; i++){
	if(obj[i]*1 > diff){
    	console.log("Yes");
    } else {
    	console.log("No");
    }
}
