import java.util.ArrayList;
import java.util.Scanner;

class Main{

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		ArrayList<String> list = new ArrayList<String>();
		for(int i= 0;i < N;i++){
			list.add(scan.next());
		}
		
		for(int i = 1;i < N;i++){
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		}
		System.out.println("Yes");


	}
} import java.util.ArrayList; ArrayList java.util import java.util.Scanner; Scanner java.util class Main{

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		ArrayList<String> list = new ArrayList<String>();
		for(int i= 0;i < N;i++){
			list.add(scan.next());
		}
		
		for(int i = 1;i < N;i++){
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		}
		System.out.println("Yes");


	}
} Main public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		ArrayList<String> list = new ArrayList<String>();
		for(int i= 0;i < N;i++){
			list.add(scan.next());
		}
		
		for(int i = 1;i < N;i++){
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		}
		System.out.println("Yes");


	} main {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		ArrayList<String> list = new ArrayList<String>();
		for(int i= 0;i < N;i++){
			list.add(scan.next());
		}
		
		for(int i = 1;i < N;i++){
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		}
		System.out.println("Yes");


	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int N = scan.nextInt(); N scan.nextInt() scan.nextInt scan ArrayList<String> list = new ArrayList<String>(); list new ArrayList<String>() for(int i= 0;i < N;i++){
			list.add(scan.next());
		} int i= 0; int i= 0; i 0 i < N i N i++ i++ i {
			list.add(scan.next());
		} {
			list.add(scan.next());
		} list.add(scan.next()) list.add list scan.next() scan.next scan for(int i = 1;i < N;i++){
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		} int i = 1; int i = 1; i 1 i < N i N i++ i++ i {
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		} {
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		} int size = list.get(i-1).length(); size list.get(i-1).length() list.get(i-1).length list.get(i-1) list.get list i-1 i 1 if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			} list.get(i).charAt(0) != list.get(i-1).charAt(size-1) list.get(i).charAt(0) list.get(i).charAt list.get(i) list.get list i 0 list.get(i-1).charAt(size-1) list.get(i-1).charAt list.get(i-1) list.get list i-1 i 1 size-1 size 1 {
				System.out.println("No");
				return;
			} System.out.println("No") System.out.println System.out System System.out "No" return; for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			} int j = 0; int j = 0; j 0 j < i j i j++ j++ j {
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			} {
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			} if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				} list.get(i).equals(list.get(j)) list.get(i).equals list.get(i) list.get list i list.get(j) list.get list j {
					System.out.println("No");
					return;
				} System.out.println("No") System.out.println System.out System System.out "No" return; System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args
import java.util.ArrayList;
import java.util.Scanner;

class Main{

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		ArrayList<String> list = new ArrayList<String>();
		for(int i= 0;i < N;i++){
			list.add(scan.next());
		}
		
		for(int i = 1;i < N;i++){
			int size = list.get(i-1).length();
			if(list.get(i).charAt(0) != list.get(i-1).charAt(size-1)){
				System.out.println("No");
				return;
			}
			for(int j = 0;j < i;j++){
				if(list.get(i).equals(list.get(j))){
					System.out.println("No");
					return;
				}
			}
		}
		System.out.println("Yes");


	}
}
