import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		sc.nextLine();
		List<String> wordList = new ArrayList<>();
		int count =0;
		while(sc.hasNextLine()) {
			if (count >= num) {
				break;
			}
			wordList.add(sc.nextLine());
			count++;
		}
		sc.close();
		
		Set<String> usedWordSet = new HashSet<>();
		Character beforeLastWord = null;
		for (String word : wordList) {
			if (usedWordSet.contains(word)) {
				System.out.println("No");
				return;
			}
			usedWordSet.add(word);
			
			if (beforeLastWord == null) {
				beforeLastWord = Character.valueOf(word.charAt(word.length()-1));
				continue;
			}
			Character firstWord = Character.valueOf(word.charAt(0));
			if (!beforeLastWord.equals(firstWord)) {
				System.out.println("No");
				return;
			}
			beforeLastWord = Character.valueOf(word.charAt(word.length()-1));
		}
		System.out.println("Yes");
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz