#include <bits/stdc++.h>
using namespace std;
int n, a[5][8];
int vis[123124];
struct Mp {
  int a[30];
  Mp() { memset(a, 0, sizeof(a)); }
  bool operator<(const Mp &x) const {
    for (int i = 0; i < 25; ++i)
      if (x.a[i] != a[i]) return a[i] < x.a[i];
    return 0;
  }
  void swap(int &a, int &b, int &c, int &d) {
    int t = a;
    a = b;
    b = c;
    c = d;
    d = t;
  }
  Mp Rotate1() {
    Mp res = *this;
    swap(res.a[1], res.a[3], res.a[4], res.a[2]);
    swap(res.a[13], res.a[5], res.a[17], res.a[21]);
    swap(res.a[14], res.a[6], res.a[18], res.a[22]);
    swap(res.a[15], res.a[7], res.a[19], res.a[23]);
    swap(res.a[16], res.a[8], res.a[20], res.a[24]);
    swap(res.a[9], res.a[10], res.a[12], res.a[11]);
    return res;
  }
  Mp Rotate2() {
    Mp res = *this;
    swap(res.a[1], res.a[3], res.a[4], res.a[2]);
    swap(res.a[13], res.a[5], res.a[17], res.a[21]);
    swap(res.a[14], res.a[6], res.a[18], res.a[22]);
    return res;
  }
  Mp Rotate3() {
    Mp res = *this;
    swap(res.a[2], res.a[23], res.a[10], res.a[6]);
    swap(res.a[4], res.a[21], res.a[12], res.a[8]);
    swap(res.a[17], res.a[18], res.a[20], res.a[19]);
    return res;
  }
  bool check() {
    for (int i = 1; i <= 24; i += 4) {
      for (int j = i + 1; j <= i + 3; ++j)
        if (a[j] != a[i]) return 0;
    }
    return 1;
  }
  void OUT() {
    for (int i = 1; i <= 24; ++i) cout << a[i] << ' ';
    cout << endl;
  }
};
map<Mp, bool> hs;
int main() {
  Mp init;
  for (int i = 1; i <= 24; ++i) cin >> init.a[i];
  queue<Mp> Q;
  Q.push(init);
  while (!Q.empty()) {
    Mp now = Q.front();
    Q.pop();
    Mp news;
    news = now.Rotate1();
    if (!hs[news]) {
      hs[news] = 1;
      Q.push(news);
    }
    news = now.Rotate2();
    if (news.check()) {
      puts("yes");
      return 0;
    }
    news = now.Rotate2().Rotate2().Rotate2();
    if (news.check()) {
      puts("yes");
      return 0;
    }
    news = now.Rotate3();
    if (news.check()) {
      puts("yes");
      return 0;
    }
    news = now.Rotate3().Rotate3().Rotate3();
    if (news.check()) {
      puts("yes");
      return 0;
    }
  }
  puts("no");
  return 0;
}
