import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

import java.util.*;
 
/**
 * Using FastReader and Output Class
 * @author Wallace
 */
 class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        FastReader in = new FastReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        PRIMS  solver = new PRIMS();
        solver.solve(1, in, out);
        out.close();
    }
 static class  PRIMS
 	{
		public void solve(int testNumber, FastReader in, PrintWriter out)			//main code
			{
				int n=in.nextInt();
				String s=in.nextString();
				int l=s.length();
				char ch=s.charAt(l-1);
				HashSet<String> hs=new HashSet<>();
				hs.add(s);
				n=n-1;int f=0;
				while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					}
				if(f==0)
					out.println("Yes");
				else
					out.println("No");
				
			}
		
		
		
		
	}

 


 //fastreader
    static class FastReader {
        private InputStream stream;
        private byte[] buf = new byte[8192];
        private int curChar;
        private int pnumChars;
 
        public FastReader(InputStream stream) {
            this.stream = stream;
        }
 
        private int pread() {
            if (pnumChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        }
 
        public int nextInt() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            int res = 0;
            do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	public String next() {
            return nextString();
        }
	
	 public String nextString() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c));
            return res.toString();
        }
	
	public long[] nextLongArray(int n) {
            long[] array = new long[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            }
            return array;
        }
	
	public double[] nextDoubleArray(int n) {
            double[] array = new double[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            }
            return array;
        }
 
	public int[] nextIntArray(int n) {
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            }
            return array;
        }
 
        public long nextLong() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	 public double nextDouble() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            double res = 0.0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
      
 
        private boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }
 
    }
 
 
}  import java.io.OutputStream; OutputStream java.io import java.io.IOException; IOException java.io import java.io.InputStream; InputStream java.io import java.io.PrintWriter; PrintWriter java.io import java.util.Arrays; Arrays java.util import java.util.InputMismatchException; InputMismatchException java.util import java.io.IOException; IOException java.io import java.io.InputStream; InputStream java.io import java.text.DecimalFormat; DecimalFormat java.text import java.util.Iterator; Iterator java.util import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.HashMap; HashMap java.util import java.util.*; util.* java  class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        FastReader in = new FastReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        PRIMS  solver = new PRIMS();
        solver.solve(1, in, out);
        out.close();
    }
 static class  PRIMS
 	{
		public void solve(int testNumber, FastReader in, PrintWriter out)			//main code
			{
				int n=in.nextInt();
				String s=in.nextString();
				int l=s.length();
				char ch=s.charAt(l-1);
				HashSet<String> hs=new HashSet<>();
				hs.add(s);
				n=n-1;int f=0;
				while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					}
				if(f==0)
					out.println("Yes");
				else
					out.println("No");
				
			}
		
		
		
		
	}

 


 //fastreader
    static class FastReader {
        private InputStream stream;
        private byte[] buf = new byte[8192];
        private int curChar;
        private int pnumChars;
 
        public FastReader(InputStream stream) {
            this.stream = stream;
        }
 
        private int pread() {
            if (pnumChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        }
 
        public int nextInt() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            int res = 0;
            do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	public String next() {
            return nextString();
        }
	
	 public String nextString() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c));
            return res.toString();
        }
	
	public long[] nextLongArray(int n) {
            long[] array = new long[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            }
            return array;
        }
	
	public double[] nextDoubleArray(int n) {
            double[] array = new double[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            }
            return array;
        }
 
	public int[] nextIntArray(int n) {
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            }
            return array;
        }
 
        public long nextLong() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	 public double nextDouble() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            double res = 0.0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
      
 
        private boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }
 
    }
 
 
} Main public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        FastReader in = new FastReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        PRIMS  solver = new PRIMS();
        solver.solve(1, in, out);
        out.close();
    } main {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        FastReader in = new FastReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        PRIMS  solver = new PRIMS();
        solver.solve(1, in, out);
        out.close();
    } InputStream inputStream = System.in; inputStream System.in System System.in OutputStream outputStream = System.out; outputStream System.out System System.out FastReader in = new FastReader(inputStream); in new FastReader(inputStream) PrintWriter out = new PrintWriter(outputStream); out new PrintWriter(outputStream) PRIMS  solver = new PRIMS(); solver new PRIMS() solver.solve(1, in, out) solver.solve solver 1 in out out.close() out.close out String[] args args static class  PRIMS
 	{
		public void solve(int testNumber, FastReader in, PrintWriter out)			//main code
			{
				int n=in.nextInt();
				String s=in.nextString();
				int l=s.length();
				char ch=s.charAt(l-1);
				HashSet<String> hs=new HashSet<>();
				hs.add(s);
				n=n-1;int f=0;
				while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					}
				if(f==0)
					out.println("Yes");
				else
					out.println("No");
				
			}
		
		
		
		
	} PRIMS public void solve(int testNumber, FastReader in, PrintWriter out)			//main code
			{
				int n=in.nextInt();
				String s=in.nextString();
				int l=s.length();
				char ch=s.charAt(l-1);
				HashSet<String> hs=new HashSet<>();
				hs.add(s);
				n=n-1;int f=0;
				while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					}
				if(f==0)
					out.println("Yes");
				else
					out.println("No");
				
			} solve {
				int n=in.nextInt();
				String s=in.nextString();
				int l=s.length();
				char ch=s.charAt(l-1);
				HashSet<String> hs=new HashSet<>();
				hs.add(s);
				n=n-1;int f=0;
				while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					}
				if(f==0)
					out.println("Yes");
				else
					out.println("No");
				
			} int n=in.nextInt(); n in.nextInt() in.nextInt in String s=in.nextString(); s in.nextString() in.nextString in int l=s.length(); l s.length() s.length s char ch=s.charAt(l-1); ch s.charAt(l-1) s.charAt s l-1 l 1 HashSet<String> hs=new HashSet<>(); hs new HashSet<>() hs.add(s) hs.add hs s n=n-1 n n-1 n 1 int f=0; f 0 while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					} n!=0 n 0 {
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					} s=in.nextString() s in.nextString() in.nextString in if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1; !hs.contains(s) && s.charAt(0)==ch && f==0 !hs.contains(s) && s.charAt(0)==ch && f==0 !hs.contains(s) hs.contains(s) hs.contains hs s s.charAt(0)==ch s.charAt(0) s.charAt s 0 ch f==0 f 0 {
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							} l=s.length() l s.length() s.length s ch=s.charAt(l-1) ch s.charAt(l-1) s.charAt s l-1 l 1 hs.add(s) hs.add hs s f=1 f 1 n-- n if(f==0)
					out.println("Yes");
				else
					out.println("No"); f==0 f 0 out.println("Yes") out.println out "Yes" out.println("No") out.println out "No" int testNumber testNumber FastReader in in PrintWriter out out    static class FastReader {
        private InputStream stream;
        private byte[] buf = new byte[8192];
        private int curChar;
        private int pnumChars;
 
        public FastReader(InputStream stream) {
            this.stream = stream;
        }
 
        private int pread() {
            if (pnumChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        }
 
        public int nextInt() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            int res = 0;
            do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	public String next() {
            return nextString();
        }
	
	 public String nextString() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c));
            return res.toString();
        }
	
	public long[] nextLongArray(int n) {
            long[] array = new long[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            }
            return array;
        }
	
	public double[] nextDoubleArray(int n) {
            double[] array = new double[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            }
            return array;
        }
 
	public int[] nextIntArray(int n) {
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            }
            return array;
        }
 
        public long nextLong() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	 public double nextDouble() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            double res = 0.0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
      
 
        private boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }
 
    } FastReader private InputStream stream; stream private byte[] buf = new byte[8192]; buf new byte[8192] 8192 private int curChar; curChar private int pnumChars; pnumChars public FastReader(InputStream stream) {
            this.stream = stream;
        } FastReader {
            this.stream = stream;
        } this.stream = stream this.stream this this.stream stream InputStream stream stream private int pread() {
            if (pnumChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        } pread {
            if (pnumChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        } if (pnumChars == -1) {
                throw new InputMismatchException();
            } pnumChars == -1 pnumChars -1 1 {
                throw new InputMismatchException();
            } throw new InputMismatchException(); new InputMismatchException() if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            } curChar >= pnumChars curChar pnumChars {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            } curChar = 0 curChar 0 try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                } catch (IOException e) {
                    throw new InputMismatchException();
                } IOException e {
                    throw new InputMismatchException();
                } throw new InputMismatchException(); new InputMismatchException() {
                    pnumChars = stream.read(buf);
                } pnumChars = stream.read(buf) pnumChars stream.read(buf) stream.read stream buf if (pnumChars <= 0) {
                    return -1;
                } pnumChars <= 0 pnumChars 0 {
                    return -1;
                } return -1; -1 1 return buf[curChar++]; buf[curChar++] buf curChar++ curChar public int nextInt() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            int res = 0;
            do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        } nextInt {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            int res = 0;
            do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        } int c = pread(); c pread() pread while (isSpaceChar(c))
                c = pread(); isSpaceChar(c) isSpaceChar c c = pread() c pread() pread int sgn = 1; sgn 1 if (c == '-') {
                sgn = -1;
                c = pread();
            } c == '-' c '-' {
                sgn = -1;
                c = pread();
            } sgn = -1 sgn -1 1 c = pread() c pread() pread int res = 0; res 0 do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c)); !isSpaceChar(c) isSpaceChar(c) isSpaceChar c {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } if (c == ',') {
                    c = pread();
                } c == ',' c ',' {
                    c = pread();
                } c = pread() c pread() pread if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                } c < '0' || c > '9' c < '0' c '0' c > '9' c '9' {
                    throw new InputMismatchException();
                } throw new InputMismatchException(); new InputMismatchException() res *= 10 res 10 res += c - '0' res c - '0' c '0' c = pread() c pread() pread return res * sgn; res * sgn res sgn public String next() {
            return nextString();
        } next {
            return nextString();
        } return nextString(); nextString() nextString public String nextString() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c));
            return res.toString();
        } nextString {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c));
            return res.toString();
        } int c = pread(); c pread() pread while (isSpaceChar(c))
                c = pread(); isSpaceChar(c) isSpaceChar c c = pread() c pread() pread StringBuilder res = new StringBuilder(); res new StringBuilder() do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c)); !isSpaceChar(c) isSpaceChar(c) isSpaceChar c {
                res.appendCodePoint(c);
                c = pread();
            } res.appendCodePoint(c) res.appendCodePoint res c c = pread() c pread() pread return res.toString(); res.toString() res.toString res public long[] nextLongArray(int n) {
            long[] array = new long[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            }
            return array;
        } nextLongArray {
            long[] array = new long[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            }
            return array;
        } long[] array = new long[n]; array new long[n] n for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
                array[i] = nextLong();
            } {
                array[i] = nextLong();
            } array[i] = nextLong() array[i] array i nextLong() nextLong return array; array int n n public double[] nextDoubleArray(int n) {
            double[] array = new double[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            }
            return array;
        } nextDoubleArray {
            double[] array = new double[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            }
            return array;
        } double[] array = new double[n]; array new double[n] n for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
                array[i] = nextDouble();
            } {
                array[i] = nextDouble();
            } array[i] = nextDouble() array[i] array i nextDouble() nextDouble return array; array int n n public int[] nextIntArray(int n) {
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            }
            return array;
        } nextIntArray {
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            }
            return array;
        } int[] array = new int[n]; array new int[n] n for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
                array[i] = nextInt();
            } {
                array[i] = nextInt();
            } array[i] = nextInt() array[i] array i nextInt() nextInt return array; array int n n public long nextLong() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        } nextLong {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        } int c = pread(); c pread() pread while (isSpaceChar(c))
                c = pread(); isSpaceChar(c) isSpaceChar c c = pread() c pread() pread int sgn = 1; sgn 1 if (c == '-') {
                sgn = -1;
                c = pread();
            } c == '-' c '-' {
                sgn = -1;
                c = pread();
            } sgn = -1 sgn -1 1 c = pread() c pread() pread long res = 0; res 0 do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c)); !isSpaceChar(c) isSpaceChar(c) isSpaceChar c {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                } c < '0' || c > '9' c < '0' c '0' c > '9' c '9' {
                    throw new InputMismatchException();
                } throw new InputMismatchException(); new InputMismatchException() res *= 10 res 10 res += c - '0' res c - '0' c '0' c = pread() c pread() pread return res * sgn; res * sgn res sgn public double nextDouble() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            double res = 0.0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        } nextDouble {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            double res = 0.0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        } int c = pread(); c pread() pread while (isSpaceChar(c))
                c = pread(); isSpaceChar(c) isSpaceChar c c = pread() c pread() pread int sgn = 1; sgn 1 if (c == '-') {
                sgn = -1;
                c = pread();
            } c == '-' c '-' {
                sgn = -1;
                c = pread();
            } sgn = -1 sgn -1 1 c = pread() c pread() pread double res = 0.0; res 0.0 do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c)); !isSpaceChar(c) isSpaceChar(c) isSpaceChar c {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                } c < '0' || c > '9' c < '0' c '0' c > '9' c '9' {
                    throw new InputMismatchException();
                } throw new InputMismatchException(); new InputMismatchException() res *= 10 res 10 res += c - '0' res c - '0' c '0' c = pread() c pread() pread return res * sgn; res * sgn res sgn private boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        } isSpaceChar {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        } return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1; c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1 c == '\t' c == '\r' c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1 c == ' ' c ' ' c == '\n' c '\n' c == '\r' c '\r' c == '\t' c '\t' c == -1 c -1 1 int c c
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

import java.util.*;
 
/**
 * Using FastReader and Output Class
 * @author Wallace
 */
 class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        FastReader in = new FastReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        PRIMS  solver = new PRIMS();
        solver.solve(1, in, out);
        out.close();
    }
 static class  PRIMS
 	{
		public void solve(int testNumber, FastReader in, PrintWriter out)			//main code
			{
				int n=in.nextInt();
				String s=in.nextString();
				int l=s.length();
				char ch=s.charAt(l-1);
				HashSet<String> hs=new HashSet<>();
				hs.add(s);
				n=n-1;int f=0;
				while(n!=0)
					{
						s=in.nextString();
						if(!hs.contains(s) && s.charAt(0)==ch && f==0)
							{
								l=s.length();
								ch=s.charAt(l-1);
								hs.add(s);
							}
						else
							f=1;
						n--;
					}
				if(f==0)
					out.println("Yes");
				else
					out.println("No");
				
			}
		
		
		
		
	}

 


 //fastreader
    static class FastReader {
        private InputStream stream;
        private byte[] buf = new byte[8192];
        private int curChar;
        private int pnumChars;
 
        public FastReader(InputStream stream) {
            this.stream = stream;
        }
 
        private int pread() {
            if (pnumChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= pnumChars) {
                curChar = 0;
                try {
                    pnumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (pnumChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        }
 
        public int nextInt() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            int res = 0;
            do {
                if (c == ',') {
                    c = pread();
                }
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	public String next() {
            return nextString();
        }
	
	 public String nextString() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = pread();
            } while (!isSpaceChar(c));
            return res.toString();
        }
	
	public long[] nextLongArray(int n) {
            long[] array = new long[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextLong();
            }
            return array;
        }
	
	public double[] nextDoubleArray(int n) {
            double[] array = new double[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextDouble();
            }
            return array;
        }
 
	public int[] nextIntArray(int n) {
            int[] array = new int[n];
            for (int i = 0; i < n; i++) {
                array[i] = nextInt();
            }
            return array;
        }
 
        public long nextLong() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
	 public double nextDouble() {
            int c = pread();
            while (isSpaceChar(c))
                c = pread();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = pread();
            }
            double res = 0.0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = pread();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
      
 
        private boolean isSpaceChar(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }
 
    }
 
 
} 
