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

public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	}

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

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	} main {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	} String last = ""; last "" String first = ""; first "" Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc String W = sc.next(); W sc.next() sc.next sc ArrayList<String> ws = new ArrayList<String>(); ws new ArrayList<String>() int judge = 0; judge 0 for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		} int i = 0; int i = 0; i 0 i < N -1 i N -1 N 1 i++ i++ i {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		} {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		} ws.add(W) ws.add ws W last = W.substring(W.length()-1) last W.substring(W.length()-1) W.substring W W.length()-1 W.length() W.length W 1 W = sc.next() W sc.next() sc.next sc first = W.substring(0,1) first W.substring(0,1) W.substring W 0 1 if(!(last.equals(first))) {
				++judge;
			} !(last.equals(first)) (last.equals(first)) last.equals last first {
				++judge;
			} ++judge judge if(ws.contains(W)){
				++judge;
			} ws.contains(W) ws.contains ws W {
				++judge;
			} ++judge judge if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		} judge == 0 judge 0 {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	}

} public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	}

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

public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		String last = "";
		String first = "";
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String W = sc.next();
		ArrayList<String> ws = new ArrayList<String>();
		int judge = 0;
		for(int i = 0;i < N -1; i++) {
			ws.add(W);

			last = W.substring(W.length()-1);
			W = sc.next();
			first = W.substring(0,1);//次の文字

			if(!(last.equals(first))) {
				++judge;
			}

			if(ws.contains(W)){
				++judge;
			}

		}


		if(judge == 0) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}

	}

}