# import sys
# sys.setrecursionlimit(10 ** 6)
# import bisect
# from collections import deque
# from decorator import stop_watch
# 
# 
# @stop_watch
def solve(N, K, Q, As):
    rev_point = [0] * (N + 1)
    for A in As:
        rev_point[A] += 1
    for rp in rev_point[1:]:
        if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No')


if __name__ == '__main__':
    # S = input()
    # N = int(input())
    N, K, Q = map(int, input().split())
    As = [int(input()) for _ in range(Q)]
    # Bs = [int(i) for i in input().split()]
    solve(N, K, Q, As) def solve(N, K, Q, As):
    rev_point = [0] * (N + 1)
    for A in As:
        rev_point[A] += 1
    for rp in rev_point[1:]:
        if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No') solve rev_point = [0] * (N + 1) rev_point [0] * (N + 1) [0] 0 N + 1 N 1 for A in As:
        rev_point[A] += 1
     A As rev_point[A] += 1 rev_point[A] rev_point A 1 for rp in rev_point[1:]:
        if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No') rp rev_point[1:] rev_point 1: 1 if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No') K - (Q - rp) > 0 K - (Q - rp) K Q - rp Q rp 0 print('Yes') print 'Yes' print('No') print 'No' N N K K Q Q As As if __name__ == '__main__':
    # S = input()
    # N = int(input())
    N, K, Q = map(int, input().split())
    As = [int(input()) for _ in range(Q)]
    # Bs = [int(i) for i in input().split()]
    solve(N, K, Q, As) __name__ == '__main__' __name__ '__main__' N, K, Q = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split K Q int(input()) for _ in range(Q) for _ in range(Q) _ range(Q) range Q for _ in range(Q) int(input()) int input() input As = [int(input()) for _ in range(Q)] As [int(input()) for _ in range(Q)] solve(N, K, Q, As) solve N K Q As N, K, Q = map(int, input().split()) map(int, input().split()) N K, Q = map(int, input().split()) map(int, input().split()) K As = [int(input()) for _ in range(Q)] [int(input()) for _ in range(Q)] As Q = map(int, input().split()) map(int, input().split()) Q def solve(N, K, Q, As):
    rev_point = [0] * (N + 1)
    for A in As:
        rev_point[A] += 1
    for rp in rev_point[1:]:
        if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No') def solve(N, K, Q, As):
    rev_point = [0] * (N + 1)
    for A in As:
        rev_point[A] += 1
    for rp in rev_point[1:]:
        if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No') solve
# import sys
# sys.setrecursionlimit(10 ** 6)
# import bisect
# from collections import deque
# from decorator import stop_watch
# 
# 
# @stop_watch
def solve(N, K, Q, As):
    rev_point = [0] * (N + 1)
    for A in As:
        rev_point[A] += 1
    for rp in rev_point[1:]:
        if K - (Q - rp) > 0:
            print('Yes')
        else:
            print('No')


if __name__ == '__main__':
    # S = input()
    # N = int(input())
    N, K, Q = map(int, input().split())
    As = [int(input()) for _ in range(Q)]
    # Bs = [int(i) for i in input().split()]
    solve(N, K, Q, As)
