(function(input) {
  'use strict';

  var n = null
  var words = []
  var wordHash = {}
  input.split("\n").forEach(function(line) {
    if (line == '') return
    if (n == null) {
      n = line
      return
    }
    words.push(line)
    if (wordHash[line]) {
      // すでにあった
      console.log('No')
      n = null
      return
    }
    wordHash[line] = true
  })

  if (n == null) {
    return
  }
  if (words.length <= 0) return

  // 処理開始
  var lastChar = null
  var fail = false
  words.forEach((word) => {
    if (fail) return

    if (lastChar == null) {
      // 最初の一回目
      lastChar = word[word.length - 1]
      return
    }

    // 二回目いこう
    if (word[0] != lastChar) {
      fail = true
      return
    }
    lastChar = word[word.length - 1]
  })

  if (fail) {
    console.log('No')
    return
  }
  console.log('Yes')
})(require('fs').readFileSync('/dev/stdin', 'utf8'))
