'use strict';

function Main(input) {
  const N = Number(input.split('\n')[0]);

  let W = [];
  for(let i=0; i<N; i++) {
    W.push(input.split('\n')[i+1]);
  }

  let Wremovepoly = W.filter((x, i, self) => self.indexOf(x) === i);

  const siritori = () => {
    for(let j=0; j<N-1; j++) {
      if(W[j].slice(-1) !== W[j+1].slice(0)) {
        console.log('No');
        break;
      }
      if(j = N-2) {
        console.log('Yes');
      }
    }
  }

  if(W !== Wremovepoly) {
    console.log('No');
  } else {
    siritori();
  }

};

Main(require("fs").readFileSync("/dev/stdin", "utf8").trim());
