import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    }
    
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    }
    
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = Integer.parseInt(sc.next()); N Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc String[] w = new String[N]; w new String[N] N List<String> l = new ArrayList<>(); l new ArrayList<>() String ans = "Yes"; ans "Yes" w[0] = sc.next() w[0] w 0 sc.next() sc.next sc l.add(w[0]) l.add l w[0] w 0 for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        } int i=1; int i=1; i 1 i<N i N i++ i++ i {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        } {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        } w[i] = sc.next() w[i] w i sc.next() sc.next sc if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            } l.contains(w[i]) l.contains l w[i] w i {
                ans = "No";
                break;
            } ans = "No" ans "No" break; if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            } w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1) w[i].charAt(0) w[i].charAt w[i] w i 0 w[i-1].charAt(w[i-1].length()-1) w[i-1].charAt w[i-1] w i-1 i 1 w[i-1].length()-1 w[i-1].length() w[i-1].length w[i-1] w i-1 i 1 1 {
                ans = "No";
                break;
            } ans = "No" ans "No" break; {
                l.add(w[i]);
            } l.add(w[i]) l.add l w[i] w i System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    }
    
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    }
    
} Main
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        String[] w = new String[N];
        List<String> l = new ArrayList<>();
        String ans = "Yes";
        w[0] = sc.next();
        l.add(w[0]);
        for(int i=1; i<N; i++) {
            w[i] = sc.next();
            if(l.contains(w[i])) {
                ans = "No";
                break;
            }else if(w[i].charAt(0) != w[i-1].charAt(w[i-1].length()-1)) {
                ans = "No";
                break;
            }else {
                l.add(w[i]);
            }
        }
        System.out.println(ans);
    }
    
}