import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	}

} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	} main {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) List<String> s = new ArrayList<String>(); s new ArrayList<String>() int i i n; n String tmp tmp tmp2; tmp2 n = sc.nextInt() n sc.nextInt() sc.nextInt sc for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		} i = 0; i = 0 i 0 i < n i n ++i ++i i {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		} {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		} tmp = sc.next() tmp sc.next() sc.next sc if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			} s.contains(tmp) s.contains s tmp {
				System.out.println("No");
				i = n - 1;
				break;
			} System.out.println("No") System.out.println System.out System System.out "No" i = n - 1 i n - 1 n 1 break; s.add(tmp) s.add s tmp if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			} i > 0 i 0 {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			} tmp2 = s.get(i - 1) tmp2 s.get(i - 1) s.get s i - 1 i 1 if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				} tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1) tmp.charAt(0) tmp.charAt tmp 0 tmp2.charAt(tmp2.length() - 1) tmp2.charAt tmp2 tmp2.length() - 1 tmp2.length() tmp2.length tmp2 1 {
					System.out.println("No");
					i = n - 1;
					break;
				} System.out.println("No") System.out.println System.out System System.out "No" i = n - 1 i n - 1 n 1 break; if (i == n) {
			System.out.println("Yes");
		} i == n i n {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	}

} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	}

} Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<String> s = new ArrayList<String>();
		int i, n;
		String tmp, tmp2;
		n = sc.nextInt();

		for (i = 0; i < n; ++i) {
			tmp = sc.next();
			if (s.contains(tmp)) {
				System.out.println("No");
				i = n - 1;
				break;
			}
			s.add(tmp);
			if (i > 0) {
				tmp2 = s.get(i - 1);
				if (tmp.charAt(0) != tmp2.charAt(tmp2.length() - 1)) {
					System.out.println("No");
					i = n - 1;
					break;
				}
			}
		}

		if (i == n) {
			System.out.println("Yes");
		}

		sc.close();
	}

}
