#include <vector>
#include <iostream>
#include <utility>
#include <bitset>
using namespace std;

int dp[1 << 18][10];
int main() {
  int N;
  while(cin >> N) {
    vector< pair<int, int> > dominoes(N);
    for(int i=0; i<N; i++) {
      int val; cin >> val;
      int A = val / 10, B = val % 10;
      dominoes[i] = make_pair(A, B);
    }

    fill(dp[0], dp[1 << N], false);
    dp[0][0] = true;
    for(int bit=0; bit<(1<<N); bit++) {
      for(int pre=0; pre<10; pre++) {
        if(dp[bit][pre] == false) continue;
        for(int i=0; i<N; i++) {
          if(bit >> i & 1) continue;

          for(int k=0; k<2; k++) {
            if(bit != 0 and pre != dominoes[i].first) {
              swap(dominoes[i].first, dominoes[i].second);
              continue;
            }

            int nbit = bit | (1 << i);
            int npre = dominoes[i].second;
            dp[nbit][npre] |= dp[bit][pre];
            swap(dominoes[i].first, dominoes[i].second);
          }
        }
      }
    }

    /*
    for(int bit=0; bit<(1<<N); bit++) {
      bool ok = false;
      for(int pre=0; pre<10; pre++) {
        ok |= dp[bit][pre];
      }
      if(ok) {
        cout << bitset<10>(bit).to_string();
        cout << ":";
        for(int pre=0; pre<10; pre++) {
          if(dp[bit][pre]) cout << " " << pre;
        }
        cout << endl;
      }
    }
    */

    bool ans = false;
    for(int i=0; i<10; i++) ans |= dp[(1<<N)-1][i];
    cout << (ans ? "Yes" : "No") << endl;
  }
  return 0;
}

