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

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	}
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	}
} Main public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	} main {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan String words[] = new String[n]; words new String[n] n for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		} int i= 0; int i= 0; i 0 i < n i n i++ i++ i {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		} {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		} String word = scan.next(); word scan.next() scan.next scan if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			} Arrays.asList(words).contains(word) Arrays.asList(words).contains Arrays.asList(words) Arrays.asList Arrays words word {
				System.out.println("No");
				return;
			} System.out.println("No") System.out.println System.out System System.out "No" return; words[i] = word words[i] words i word scan.close() scan.close scan String endWord = words[0].substring(words[0].length()-1, words[0].length()); endWord words[0].substring(words[0].length()-1, words[0].length()) words[0].substring words[0] words 0 words[0].length()-1 words[0].length() words[0].length words[0] words 0 1 words[0].length() words[0].length words[0] words 0 for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		} int i = 1; int i = 1; i 1 i< n i n i++ i++ i {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		} {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		} String startWord = words[i].substring(0, 1); startWord words[i].substring(0, 1) words[i].substring words[i] words i 0 1 if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			} endWord.equals(startWord) endWord.equals endWord startWord {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			} endWord =  words[i].substring(words[i].length()-1, words[i].length()) endWord words[i].substring(words[i].length()-1, words[i].length()) words[i].substring words[i] words i words[i].length()-1 words[i].length() words[i].length words[i] words i 1 words[i].length() words[i].length words[i] words i {
				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" return; String[] args args public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	}
} public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	}
} Main
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		String words[] = new String[n];
		for(int i= 0; i < n; i++) {
			String word = scan.next();
			if(Arrays.asList(words).contains(word)) {
				System.out.println("No");
				return;
			}
			words[i] = word;
		}
		scan.close();


		/*
		Map<String, Boolean> wordCounter= new HashMap<String, Boolean>();

		for(int i =0; i < n; i++) {
			if(wordCounter.containsKey(words[i])){
				System.out.println("No");
				return;
			}else {
				wordCounter.put(words[i], true);
			}
		}
		*/

		String endWord = words[0].substring(words[0].length()-1, words[0].length());
		for(int i = 1; i< n;i++) {
			String startWord = words[i].substring(0, 1);
			if(endWord.equals(startWord)) {
				endWord =  words[i].substring(words[i].length()-1, words[i].length());
			}else {
				System.out.println("No");
				return;
			}
		}

		System.out.println("Yes");
		return;
	}
}
