#include <bits/stdc++.h>
int N;
char C[(52)][4];
int V[(52)][(52)][(52)][(52)];
inline int comp(int a, int b) {
  if (a == -1 || b == -1) return 0;
  return (C[a][0] == C[b][0]) || (C[a][1] == C[b][1]);
}
int dfs(int a, int b, int c, int d) {
  if (b == -1) return 1;
  if (d == -1) {
    if (c == -1) {
      if (comp(a, b)) return 1;
    } else {
      if (comp(b, c) && dfs(a, c, -1, -1)) return 1;
    }
  } else {
    if (V[a][b][c][d]) return 0;
    V[a][b][c][d] = 1;
    if (a == 0) {
      if (comp(a, d) && dfs(d, b, c, -1)) return 1;
      if (comp(c, d) && dfs(a, b, d, -1)) return 1;
    } else {
      if (comp(a, d) && dfs(a - 1, d, b, c)) return 1;
      if (comp(c, d) && dfs(a - 1, a, b, d)) return 1;
    }
  }
  return 0;
}
int main() {
  int i;
  scanf("%d", &N);
  for (i = 0; i < N; ++i) scanf("%s", C[i]);
  int A[4];
  if (N < 4) {
    for (i = 0; i < 4; ++i) {
      if (i < N)
        A[i] = i;
      else
        A[i] = -1;
    }
  } else {
    for (i = 0; i < 4; ++i) A[i] = N - 4 + i;
  }
  if (dfs(A[0], A[1], A[2], A[3]))
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
