import Control.Monad import Data.List import qualified Data.ByteString.Char8 as B main = do s <- B.getLine getLine cs <- B.lines <$> B.getContents print (searchString s cs) searchString s = sum . map (match s) match s c = length $ filter id $ unfoldr (\s' -> guard (not (B.null s')) >> return (B.isPrefixOf c s', B.tail s')) s