// parameter "input" gets all data
function Main(input) {
	// the first line is assigned to input[0], the second line is assigned to input[1] similarly.
	
	input = input.split("\n").map((s)=>s.trim());
	var n = parseInt(input[0]);

	var dic = {};
	for (var i = 1; i <= n; i++) {

		if(dic[input[i]]!=undefined){
			console.log('No');
			return;
		}else{
			dic[input[i]] = true;
			if(i>1){
				if(input[i][0]!=input[i-1][input[i-1].length-1]){
					console.log('No');
					return;
				}
			}
		}
	}
	console.log('Yes');
}
// Don't edit this line!
//Main(require("fs").readFileSync(__dirname+'/in.txt', "utf8"));
Main(require('fs').readFileSync('/dev/stdin', 'utf8'));
