
import Data.List
import Control.Monad
import Data.Maybe
import Data.Ord
import qualified Data.ByteString.Char8 as BS

readInts :: IO [Int]
readInts = map (fst . fromJust . BS.readInt) . BS.words <$> BS.getLine

readIntLists :: Int -> IO [Int]
readIntLists n = map (fst . fromJust . BS.readInt) <$> replicateM n BS.getLine


solve n max k q ss | n >= max = []
                   | otherwise = do
                        if x == (n + 1)
                            then
                                if y + k - q > 0
                                    then "Yes" : solve (n+1) max k q (tail ss)
                                    else "No" : solve (n+1) max k q (tail ss)
                            else
                                if y + k - q > 0
                                    then "Yes" : solve (n+1) max k q ss
                                    else "No" : solve (n+1) max k q ss
                        where
                            (x,y) = if ss /= [] then head ss else (0,0)


elemCountOrd :: (Ord a) => [a] -> [(a, Int)]
elemCountOrd = map (\l -> (head l, length l) ) . group . sort

main = do
    [n,k,q] <- readInts
    aq <- readIntLists q
    putStr $ unlines $ solve 0 n k q (elemCountOrd aq)
