import java.util.Scanner;
class Main{
    public static void main(String arg[]){
        Scanner scn=new Scanner(System.in);
        int n=scn.nextInt();
        String[] words=new String[n];
        for(int i=0;i<n;i++){
            words[i]=scn.next();
        }
        int flag=0;
        char b='a';
        for(int i=0;i<n;i++){
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        }
        if(flag>0){
            System.out.println("No");
        }else{
            System.out.println("Yes");
        }
    }
} import java.util.Scanner; Scanner java.util class Main{
    public static void main(String arg[]){
        Scanner scn=new Scanner(System.in);
        int n=scn.nextInt();
        String[] words=new String[n];
        for(int i=0;i<n;i++){
            words[i]=scn.next();
        }
        int flag=0;
        char b='a';
        for(int i=0;i<n;i++){
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        }
        if(flag>0){
            System.out.println("No");
        }else{
            System.out.println("Yes");
        }
    }
} Main public static void main(String arg[]){
        Scanner scn=new Scanner(System.in);
        int n=scn.nextInt();
        String[] words=new String[n];
        for(int i=0;i<n;i++){
            words[i]=scn.next();
        }
        int flag=0;
        char b='a';
        for(int i=0;i<n;i++){
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        }
        if(flag>0){
            System.out.println("No");
        }else{
            System.out.println("Yes");
        }
    } main {
        Scanner scn=new Scanner(System.in);
        int n=scn.nextInt();
        String[] words=new String[n];
        for(int i=0;i<n;i++){
            words[i]=scn.next();
        }
        int flag=0;
        char b='a';
        for(int i=0;i<n;i++){
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        }
        if(flag>0){
            System.out.println("No");
        }else{
            System.out.println("Yes");
        }
    } Scanner scn=new Scanner(System.in); scn new Scanner(System.in) int n=scn.nextInt(); n scn.nextInt() scn.nextInt scn String[] words=new String[n]; words new String[n] n for(int i=0;i<n;i++){
            words[i]=scn.next();
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            words[i]=scn.next();
        } {
            words[i]=scn.next();
        } words[i]=scn.next() words[i] words i scn.next() scn.next scn int flag=0; flag 0 char b='a'; b 'a' for(int i=0;i<n;i++){
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        } {
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        } char a=words[i].charAt(0); a words[i].charAt(0) words[i].charAt words[i] words i 0 if(i>0&&a!=b){
                flag++;
                break;
            } i>0&&a!=b i>0 i 0 a!=b a b {
                flag++;
                break;
            } flag++ flag break; b=words[i].charAt(words[i].length()-1) b words[i].charAt(words[i].length()-1) words[i].charAt words[i] words i words[i].length()-1 words[i].length() words[i].length words[i] words i 1 int f=0; f 0 for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            } int j=i+1; int j=i+1; j i+1 i 1 j<n j n j++ j++ j {
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            } {
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            } if(words[i].equals(words[j])){
                    f++;
                    break;
                } words[i].equals(words[j]) words[i].equals words[i] words i words[j] words j {
                    f++;
                    break;
                } f++ f break; if(f>0){
                flag++;
                break;
            } f>0 f 0 {
                flag++;
                break;
            } flag++ flag break; if(flag>0){
            System.out.println("No");
        }else{
            System.out.println("Yes");
        } flag>0 flag 0 {
            System.out.println("No");
        } System.out.println("No") System.out.println System.out System System.out "No" {
            System.out.println("Yes");
        } System.out.println("Yes") System.out.println System.out System System.out "Yes" String arg[] arg
import java.util.Scanner;
class Main{
    public static void main(String arg[]){
        Scanner scn=new Scanner(System.in);
        int n=scn.nextInt();
        String[] words=new String[n];
        for(int i=0;i<n;i++){
            words[i]=scn.next();
        }
        int flag=0;
        char b='a';
        for(int i=0;i<n;i++){
            char a=words[i].charAt(0);
            if(i>0&&a!=b){
                flag++;
                break;
            }
            b=words[i].charAt(words[i].length()-1);
            int f=0;
            for(int j=i+1;j<n;j++){
                if(words[i].equals(words[j])){
                    f++;
                    break;
                }
            }
            if(f>0){
                flag++;
                break;
            }
        }
        if(flag>0){
            System.out.println("No");
        }else{
            System.out.println("Yes");
        }
    }
}