#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int b[40];
set<int> chek;
int same_color;
vector<int> index_same;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  for (int i = 1; i <= 6; i++) {
    chek.clear();
    for (int j = 1; j <= 4; j++) {
      cin >> a[i][j];
      b[4 * i + j - 4] = a[i][j];
      chek.insert(a[i][j]);
    }
    if (chek.size() > 2) cout << "NO", exit(0);
  }
  for (int i = 1; i <= 6; i++) {
    if (a[i][1] == a[i][2] && a[i][1] == a[i][3] && a[i][1] == a[i][4]) {
      if (i == 1) {
        if (a[i + 2][1] != a[i + 2][2] || a[i + 2][1] != a[i + 2][3] ||
            a[i + 2][1] != a[i + 2][4])
          cout << "NO", exit(0);
      }
      if (i == 2) {
        if (a[i + 4][1] != a[i + 4][2] || a[i + 4][1] != a[i + 4][3] ||
            a[i + 4][1] != a[i + 4][4])
          cout << "NO", exit(0);
      }
      if (i == 3) {
        if (a[i - 2][1] != a[i - 2][2] || a[i - 2][1] != a[i - 2][3] ||
            a[i - 2][1] != a[i - 2][4])
          cout << "NO", exit(0);
      }
      if (i == 4) {
        if (a[i + 1][1] != a[i + 1][2] || a[i + 1][1] != a[i + 1][3] ||
            a[i + 1][1] != a[i + 1][4])
          cout << "NO", exit(0);
      }
      if (i == 5) {
        if (a[i - 1][1] != a[i - 1][2] || a[i - 1][1] != a[i - 1][3] ||
            a[i - 1][1] != a[i - 1][4])
          cout << "NO", exit(0);
      }
      if (i == 6) {
        if (a[i - 4][1] != a[i - 4][2] || a[i - 4][1] != a[i - 4][3] ||
            a[i - 4][1] != a[i - 4][4])
          cout << "NO", exit(0);
      }
      same_color++;
      index_same.push_back(i);
    }
  }
  if (same_color != 2) cout << "NO", exit(0);
  if (index_same[0] == 1) {
    if ((b[5] == b[6] && b[5] == b[19] && b[5] == b[20]) &&
        (b[17] == b[18] && b[17] == b[23] && b[17] == b[24]) &&
        (b[21] == b[22] && b[21] == b[15] && b[21] == b[16]) &&
        (b[13] == b[14] && b[13] == b[7] && b[13] == b[8]))
      cout << "YES", exit(0);
    if ((b[6] == b[5] && b[6] == b[16] && b[6] == b[15]) &&
        (b[14] == b[13] && b[14] == b[24] && b[14] == b[23]) &&
        (b[22] == b[21] && b[22] == b[20] && b[22] == b[19]) &&
        (b[18] == b[17] && b[18] == b[8] && b[18] == b[7]))
      cout << "YES", exit(0);
  }
  if (index_same[0] == 2) {
    if ((b[1] == b[2] && b[1] == b[17] && b[1] == b[19]) &&
        (b[18] == b[20] && b[18] == b[10] && b[18] == b[9]) &&
        (b[12] == b[11] && b[12] == b[16] && b[12] == b[14]) &&
        (b[15] == b[13] && b[15] == b[3] && b[15] == b[4]))
      cout << "YES", exit(0);
    if ((b[2] == b[1] && b[2] == b[14] && b[2] == b[16]) &&
        (b[13] == b[15] && b[13] == b[9] && b[13] == b[10]) &&
        (b[11] == b[12] && b[11] == b[19] && b[11] == b[17]) &&
        (b[20] == b[18] && b[20] == b[4] && b[20] == b[3]))
      cout << "YES", exit(0);
  }
  if (index_same[0] == 4) {
    if ((b[1] == b[3] && b[1] == b[6] && b[1] == b[8]) &&
        (b[5] == b[7] && b[5] == b[10] && b[5] == b[12]) &&
        (b[9] == b[11] && b[9] == b[21] && b[9] == b[23]) &&
        (b[22] == b[24] && b[22] == b[2] && b[22] == b[4]))
      cout << "YES", exit(0);
    if ((b[2] == b[4] && b[2] == b[5] && b[2] == b[7]) &&
        (b[6] == b[8] && b[6] == b[9] && b[6] == b[11]) &&
        (b[10] == b[12] && b[10] == b[22] && b[10] == b[24]) &&
        (b[21] == b[23] && b[21] == b[1] && b[21] == b[3]))
      cout << "YES", exit(0);
  }
  cout << "NO", exit(0);
  return 0;
}
