import Control.Monad.Trans.State( execStateT, get, modify)
main = do
    [n,a,b] <- return . map (read::String->Int) . words =<< getLine
    ranking <- getLine
    let ab = a+b
	judge [] _ = return ()
	judge (co:cos) (aw,bw)
	  | co=='c'    =
		modify (False:) >> judge cos (aw,bw)
	  | otherwise   = do
	    case co of
	     'a'	-> if ab>aw+bw
		then modify (True:) >> judge cos (aw+1,bw)
		else modify (False:) >> judge cos (aw,bw)
	     'b' -> if ab>aw+bw && b>bw
		then modify (True:) >> judge cos (aw,bw+1)
		else modify (False:) >> judge cos (aw,bw)
    result <- return . reverse =<<
		execStateT (judge ranking (0,0)) []
    mapM_ putStrLn $ map (\j->if j then "Yes" else "No") result