import java.util.Scanner;
import java.util.Arrays;


public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  }
} import java.util.Scanner; Scanner java.util import java.util.Arrays; Arrays java.util public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  } main {
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc boolean flag = true; flag true String s; s char[][] c =  new char[n][2]; c new char[n][2] n 2 String[] ss = new String[n]; ss new String[n] n for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    } int i=0; int i=0; i 0 i<n i n i++ i++ i {
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    } {
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    } s = sc.next() s sc.next() sc.next sc c[i][0] = s.charAt(0) c[i][0] c[i] c i 0 s.charAt(0) s.charAt s 0 c[i][1] = s.charAt(s.length()-1) c[i][1] c[i] c i 1 s.charAt(s.length()-1) s.charAt s s.length()-1 s.length() s.length s 1 if(Arrays.asList(ss).contains(s)){
        flag = false;
      } Arrays.asList(ss).contains(s) Arrays.asList(ss).contains Arrays.asList(ss) Arrays.asList Arrays ss s {
        flag = false;
      } flag = false flag false ss[i] = s ss[i] ss i s for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    } int i=0; int i=0; i 0 i<n-1 i n-1 n 1 i++ i++ i {
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    } {
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    } if(c[i][1] != c[i+1][0]){
        flag = false;
      } c[i][1] != c[i+1][0] c[i][1] c[i] c i 1 c[i+1][0] c[i+1] c i+1 i 1 0 {
        flag = false;
      } flag = false flag false if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    } flag {
      System.out.println("Yes");
    } System.out.println("Yes") System.out.println System.out System System.out "Yes" {
      System.out.println("No");
    } System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  }
} public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  }
} Main
import java.util.Scanner;
import java.util.Arrays;


public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);


    int n = sc.nextInt();
    boolean flag = true;
    String s;
    char[][] c =  new char[n][2];
    String[] ss = new String[n];
    for(int i=0; i<n; i++){
      s = sc.next();
      c[i][0] = s.charAt(0);
      c[i][1] = s.charAt(s.length()-1);
      if(Arrays.asList(ss).contains(s)){
        flag = false;
      }
      ss[i] = s;

    }

    for(int i=0; i<n-1; i++){
      if(c[i][1] != c[i+1][0]){
        flag = false;
      }
    }
    if(flag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }






  }
}