#include <bits/stdc++.h>
using namespace std;
int pd[52][52][52][52], n, g[255][2], m[52], ok[52];
bool rec(int x);
bool ver(int x, int y) {
  int a = g[y][0], b = g[y][1], c = m[y], d = m[x];
  if (g[y][0] != g[x][0] && g[y][1] != g[x][1])
    return 0;
  else if (g[y][0] != g[x][0])
    g[y][0] = g[x][0];
  else if (g[y][1] != g[x][1])
    g[y][1] = g[x][1];
  m[y] = m[x];
  m[x] = 0;
  bool ok = rec(x - 1);
  g[y][0] = a;
  g[y][1] = b;
  m[y] = c;
  m[x] = d;
  return ok;
}
bool rec(int x) {
  if (~pd[x][m[x]][m[x - 1]][m[x - 2]]) return pd[x][m[x]][m[x - 1]][m[x - 2]];
  if (x <= 2) {
    for (int i = x - 1; i >= 0; --i)
      if (g[x][0] != g[i][0] && g[x][1] != g[i][1]) return 0;
    return 1;
  }
  if (ver(x, x - 3))
    return pd[x][m[x]][m[x - 1]][m[x - 2]] = 1;
  else
    return pd[x][m[x]][m[x - 1]][m[x - 2]] = ver(x, x - 1);
}
int main() {
  scanf("%d", &n);
  char t[5];
  for (int i = 0; i < n; i++) {
    m[i] = i;
    scanf("%s", t);
    g[i][0] = t[0];
    g[i][1] = t[1];
  }
  memset(pd, -1, sizeof pd);
  rec(n - 1) ? printf("YES\n") : printf("NO\n");
  return 0;
}
