import java.util.*;

class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    List<String> saidList = new ArrayList<>();
    String ans = "Yes";
    saidList.add(sc.next());
    for (int i = 1; i < N; i++) {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    }
    System.out.println(ans);
  }
  private static boolean isShiritori(String curWord, String preWord) {
     return curWord.substring(0,1).equals(preWord.substring(preWord.length()-1));
  }
} import java.util.*; util.* java class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    List<String> saidList = new ArrayList<>();
    String ans = "Yes";
    saidList.add(sc.next());
    for (int i = 1; i < N; i++) {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    }
    System.out.println(ans);
  }
  private static boolean isShiritori(String curWord, String preWord) {
     return curWord.substring(0,1).equals(preWord.substring(preWord.length()-1));
  }
} Main public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    List<String> saidList = new ArrayList<>();
    String ans = "Yes";
    saidList.add(sc.next());
    for (int i = 1; i < N; i++) {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    }
    System.out.println(ans);
  } main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    List<String> saidList = new ArrayList<>();
    String ans = "Yes";
    saidList.add(sc.next());
    for (int i = 1; i < N; i++) {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    }
    System.out.println(ans);
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc List<String> saidList = new ArrayList<>(); saidList new ArrayList<>() String ans = "Yes"; ans "Yes" saidList.add(sc.next()) saidList.add saidList sc.next() sc.next sc for (int i = 1; i < N; i++) {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    } int i = 1; int i = 1; i 1 i < N i N i++ i++ i {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    } {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    } String currentWord = sc.next(); currentWord sc.next() sc.next sc if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      } saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1)) saidList.contains(currentWord) saidList.contains saidList currentWord !isShiritori(currentWord, saidList.get(i-1)) isShiritori(currentWord, saidList.get(i-1)) isShiritori currentWord saidList.get(i-1) saidList.get saidList i-1 i 1 {
        ans = "No";
        break;
      } ans = "No" ans "No" break; saidList.add(currentWord) saidList.add saidList currentWord System.out.println(ans) System.out.println System.out System System.out ans String[] args args private static boolean isShiritori(String curWord, String preWord) {
     return curWord.substring(0,1).equals(preWord.substring(preWord.length()-1));
  } isShiritori {
     return curWord.substring(0,1).equals(preWord.substring(preWord.length()-1));
  } return curWord.substring(0,1).equals(preWord.substring(preWord.length()-1)); curWord.substring(0,1).equals(preWord.substring(preWord.length()-1)) curWord.substring(0,1).equals curWord.substring(0,1) curWord.substring curWord 0 1 preWord.substring(preWord.length()-1) preWord.substring preWord preWord.length()-1 preWord.length() preWord.length preWord 1 String curWord curWord String preWord preWord
import java.util.*;

class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    List<String> saidList = new ArrayList<>();
    String ans = "Yes";
    saidList.add(sc.next());
    for (int i = 1; i < N; i++) {
      String currentWord = sc.next();
      if (saidList.contains(currentWord) || !isShiritori(currentWord, saidList.get(i-1))) {
        ans = "No";
        break;
      }
      saidList.add(currentWord);
    }
    System.out.println(ans);
  }
  private static boolean isShiritori(String curWord, String preWord) {
     return curWord.substring(0,1).equals(preWord.substring(preWord.length()-1));
  }
}