import java.io.File;
import java.io.IOException;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Deque;
import java.util.List;
import java.util.Scanner;

public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	}
} import java.io.File; File java.io import java.io.IOException; IOException java.io import java.util.ArrayDeque; ArrayDeque java.util import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.Comparator; Comparator java.util import java.util.Deque; Deque java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	}
} Main public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	} main {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc List<String> list = new ArrayList<String>(); list new ArrayList<String>() String w = sc.next(); w sc.next() sc.next sc list.add(w) list.add list w boolean flag = true; flag true for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		} int i = 0; int i = 0; i 0 i < N-1 i N-1 N 1 i++ i++ i {
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		} {
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		} String W = sc.next(); W sc.next() sc.next sc if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			} W.charAt(0) != w.charAt(w.length()-1) W.charAt(0) W.charAt W 0 w.charAt(w.length()-1) w.charAt w w.length()-1 w.length() w.length w 1 {
				flag = false;
				break;
			} flag = false flag false break; if(list.contains(W)){
				flag = false;
				break;
			} list.contains(W) list.contains list W {
				flag = false;
				break;
			} flag = false flag false break; list.add(W) list.add list W w = W w W System.out.println(flag?"Yes":"No") System.out.println System.out System System.out flag?"Yes":"No" flag "Yes" "No" String[] args args public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	}
} public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	}
} Main
import java.io.File;
import java.io.IOException;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Deque;
import java.util.List;
import java.util.Scanner;

public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		List<String> list = new ArrayList<String>();
		String w = sc.next();
		list.add(w);
		boolean flag = true;
		
		for(int i = 0; i < N-1; i++){
			String W = sc.next();
			if(W.charAt(0) != w.charAt(w.length()-1)){
				flag = false;
				break;
			}
			if(list.contains(W)){
				flag = false;
				break;
			}
			list.add(W);
			w = W;
		}
		
		System.out.println(flag?"Yes":"No");
	}
}