import std.stdio;
import std.ascii;
import std.conv;
import std.string;
import std.algorithm;
import std.range;
import std.functional;
import std.math;
import core.bitop;
import std.numeric;

alias lread = () => readln.chomp.to!long;
alias aryread = () => readln.split.to!(long[]);

void main()
{
    auto N = lread();
    string[] W = new string[](N);

    foreach (i; 0 .. N)
        W[i] = readln.chomp;

    if (W.dup.sort().uniq().array.length != W.length)
    {
        writeln("No");
        return;
    }

    bool flag = true;

    foreach (i; 1 .. N)
    {
        flag = flag && (W[i][0] == W[i - 1][$ - 1]);
    }
    (flag ? "Yes" : "No").writeln;
}
