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

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	}

} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	} main {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int A = sc.nextInt(); A sc.nextInt() sc.nextInt sc String s [] = new String [A]; s new String [A] A for (int i=0; i<A; i++){
			s[i]=sc.next();
		} int i=0; int i=0; i 0 i<A i A i++ i++ i {
			s[i]=sc.next();
		} {
			s[i]=sc.next();
		} s[i]=sc.next() s[i] s i sc.next() sc.next sc boolean ans = true; ans true for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		} int i=0; int i=0; i 0 i<A-1 i A-1 A 1 i++ i++ i {
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		} {
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		} String S = s[i]; S s[i] s i String N = s[i+1]; N s[i+1] s i+1 i 1 int length = S.length(); length S.length() S.length S if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			} S.charAt((length-1))!=N.charAt(0) S.charAt((length-1)) S.charAt S (length-1) length 1 N.charAt(0) N.charAt N 0 {
				ans=false;
				break;
			} ans=false ans false break; Arrays.sort(s) Arrays.sort Arrays s for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		} int i=0; int i=0; i 0 i<A-1 i A-1 A 1 i++ i++ i {
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		} {
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		} if (s[i].equals(s[i+1])){
				ans=false;
				break;
			} s[i].equals(s[i+1]) s[i].equals s[i] s i s[i+1] s i+1 i 1 {
				ans=false;
				break;
			} ans=false ans false break; if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes"); ans==false ans false System.out.println("No") System.out.println System.out System System.out "No" System.out.println("Yes") System.out.println System.out System System.out "Yes" sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	}

} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	}

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

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		
		String s [] = new String [A];
		for (int i=0; i<A; i++){
			s[i]=sc.next();
		}
		
		boolean ans = true;
		for (int i=0; i<A-1; i++){
			String S = s[i];
			String N = s[i+1];
			int length = S.length();
			//System.out.println(S);
			
			if (S.charAt((length-1))!=N.charAt(0)){
				ans=false;
				break;
			}
		}
		Arrays.sort(s);
		for (int i=0; i<A-1; i++){
			if (s[i].equals(s[i+1])){
				ans=false;
				break;
			}
		}
		
		
		if (ans==false)
			System.out.println("No");
		else
			System.out.println("Yes");
		sc.close();
		
	}

}