import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc String[] W = new String[N]; W new String[N] N String result = "Yes"; result "Yes" for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			W[i] = sc.next();
		} {
			W[i] = sc.next();
		} W[i] = sc.next() W[i] W i sc.next() sc.next sc for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		} int i = 0; int i = 0; i 0 i < N-1 i N-1 N 1 i++ i++ i {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		} {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		} if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			} W[i].charAt(W[i].length() -1) != W[i+1].charAt(0) W[i].charAt(W[i].length() -1) W[i].charAt W[i] W i W[i].length() -1 W[i].length() W[i].length W[i] W i 1 W[i+1].charAt(0) W[i+1].charAt W[i+1] W i+1 i 1 0 {
				result = "No";
				break;
			} result = "No" result "No" break; for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			} int j = i+1; int j = i+1; j i+1 i 1 j < N j N j++ j++ j {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			} {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			} if(W[i].equals(W[j])) {
					result = "No";
					break;
				} W[i].equals(W[j]) W[i].equals W[i] W i W[j] W j {
					result = "No";
					break;
				} result = "No" result "No" break; if("No".contentEquals(result)) {
				break;
			} "No".contentEquals(result) "No".contentEquals "No" result {
				break;
			} break; System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String[] W = new String[N];

		String result = "Yes";

		for(int i = 0; i < N; i++) {
			W[i] = sc.next();
		}

		for(int i = 0; i < N-1; i++) {
			if(W[i].charAt(W[i].length() -1) != W[i+1].charAt(0)) {
				result = "No";
				break;
			}
			for(int j = i+1; j < N; j++) {
				if(W[i].equals(W[j])) {
					result = "No";
					break;
				}
			}
			if("No".contentEquals(result)) {
				break;
			}
		}

		System.out.println(result);
	}
}
