import Control.Monad
import Data.List

solve :: [String] -> Bool
solve (w1:w2:[]) = (last w1) == (head w2)
solve (w1:w2:ws) = ((last w1) == (head w2)) && solve (w2:ws)

main :: IO ()
main = do
  n <- readLn
  ws <- replicateM n getLine
  let isOk = (==1) . maximum . map length . group . sort
  putStrLn $ if isOk ws && solve ws then "Yes" else "No"