{-# LANGUAGE OverloadedStrings, ViewPatterns #-}
import Data.List
import qualified Data.ByteString.Char8 as B

main = breads >>= main'
    where
        main' [n, a, b] = B.getLine >>= mapM_ B.putStrLn . solve (a + b) b 0 0

solve :: Int -> Int -> Int -> Int -> B.ByteString -> [B.ByteString]
solve ab b tn n (B.uncons -> Just (x, xs))
    | x == 'a' && tn < ab = "Yes" : solve ab b (tn + 1) n xs
    | x == 'b' && tn < ab && n < b = "Yes" : solve ab b (tn + 1) (n + 1) xs
    | otherwise = "No" : solve ab b tn n xs
solve _ _ _ _ _ = []

breads :: IO [Int]
breads = unfoldr uff <$> B.getLine
    where
        uff b = check <$> B.readInt b
        check (a, b)
            | B.null b = (a, b)
            | otherwise = (a, B.tail b)
