import Control.Monad( replicateM)
main = do
    [n_, m_] <- return . map read . words =<< getLine
    alines_ <- replicateM n_ getLine
    blines_ <- replicateM m_ getLine
    let
	trimC n als = map (drop n) als
	trimR n als = drop n als
	trims = [trimR tr.trimC tc$alines_| tc<-[0..n_-m_], tr<-[0..n_-m_]] 
	bls === trim = let
	    (b,t) = unzip $ zip bls trim
	  in
	    b==t
    putStr $ if	any (blines_===) trims
	then "Yes"
	else "No"