#include <bits/stdc++.h>
using namespace std;
int s[30], t[30];
int main() {
  for (int i = 1; i <= 24; i++) scanf("%d", &s[i]), t[i] = s[i];
  bool flag = true;
  s[4] = t[21], s[2] = t[23], s[6] = t[2], s[8] = t[4], s[10] = t[6],
  s[12] = t[8], s[21] = t[12], s[23] = t[10];
  for (int i = 0; i < 6; i++) {
    if (s[i * 4 + 1] == s[i * 4 + 2] && s[i * 4 + 2] == s[i * 4 + 3] &&
        s[i * 4 + 3] == s[i * 4 + 4])
      continue;
    flag = false;
    break;
  }
  if (flag) {
    printf("YES\n");
    return 0;
  }
  for (int i = 1; i <= 24; i++) s[i] = t[i];
  s[2] = t[6], s[4] = t[8], s[6] = t[10], s[8] = t[12], s[23] = t[2],
  s[21] = t[4], s[10] = t[23], s[12] = t[21];
  flag = true;
  for (int i = 0; i < 6; i++) {
    if (s[i * 4 + 1] == s[i * 4 + 2] && s[i * 4 + 2] == s[i * 4 + 3] &&
        s[i * 4 + 3] == s[i * 4 + 4])
      continue;
    flag = false;
    break;
  }
  if (flag) {
    printf("YES\n");
    return 0;
  }
  for (int i = 1; i <= 24; i++) s[i] = t[i];
  s[13] = t[21], s[14] = t[22], s[5] = t[13], s[6] = t[14], s[17] = t[5],
  s[18] = t[6], s[21] = t[17], s[22] = t[18];
  flag = true;
  for (int i = 0; i < 6; i++) {
    if (s[i * 4 + 1] == s[i * 4 + 2] && s[i * 4 + 2] == s[i * 4 + 3] &&
        s[i * 4 + 3] == s[i * 4 + 4])
      continue;
    flag = false;
    break;
  }
  if (flag) {
    printf("YES\n");
    return 0;
  }
  for (int i = 1; i <= 24; i++) s[i] = t[i];
  s[13] = t[5], s[14] = t[6], s[5] = t[17], s[6] = t[18], s[17] = t[21],
  s[18] = t[22], s[21] = t[13], s[22] = t[14];
  flag = true;
  for (int i = 0; i < 6; i++) {
    if (s[i * 4 + 1] == s[i * 4 + 2] && s[i * 4 + 2] == s[i * 4 + 3] &&
        s[i * 4 + 3] == s[i * 4 + 4])
      continue;
    flag = false;
    break;
  }
  if (flag) {
    printf("YES\n");
    return 0;
  }
  for (int i = 1; i <= 24; i++) s[i] = t[i];
  s[3] = t[17], s[4] = t[19], s[17] = t[10], s[19] = t[9], s[10] = t[16],
  s[9] = t[14], s[16] = t[3], s[14] = t[4];
  flag = true;
  for (int i = 0; i < 6; i++) {
    if (s[i * 4 + 1] == s[i * 4 + 2] && s[i * 4 + 2] == s[i * 4 + 3] &&
        s[i * 4 + 3] == s[i * 4 + 4])
      continue;
    flag = false;
    break;
  }
  if (flag) {
    printf("YES\n");
    return 0;
  }
  for (int i = 1; i <= 24; i++) s[i] = t[i];
  s[3] = t[16], s[4] = t[14], s[17] = t[3], s[19] = t[4], s[10] = t[17],
  s[9] = t[19], s[16] = t[10], s[14] = t[9];
  flag = true;
  for (int i = 0; i < 6; i++) {
    if (s[i * 4 + 1] == s[i * 4 + 2] && s[i * 4 + 2] == s[i * 4 + 3] &&
        s[i * 4 + 3] == s[i * 4 + 4])
      continue;
    flag = false;
    break;
  }
  if (flag) {
    printf("YES\n");
    return 0;
  }
  printf("NO\n");
  return 0;
}
