#include <bits/stdc++.h>

using namespace std;

class Dice{
private:
  void roll(int a,int b,int c,int d){
    swap(x[a],x[b]);
    swap(x[b],x[d]);
    swap(x[c],x[d]);
  }
public:
  char x[6];
  void roll_N(){ roll(0,1,4,5); }
  void roll_E(){ roll(0,3,2,5); }
  void roll_S(){ roll(0,4,1,5); }
  void roll_W(){ roll(0,2,3,5); }
  void rotation(){ roll(1,2,3,4); }
};

Dice d[8],e[2][2][2];

int diff(char a,char b){
  return abs(a-b) == 32;
}

bool check(int idx){
  bool res = true;
  if(idx == 0){ return res; }
  if(idx == 1){
    return diff(e[0][0][0].x[1],e[1][0][0].x[4]);
  }
  if(idx == 2){
    return diff(e[0][0][0].x[2],e[0][1][0].x[3]);
  }
  if(idx == 3){
    res &= diff(e[1][0][0].x[2],e[1][1][0].x[3]);
    res &= diff(e[0][1][0].x[1],e[1][1][0].x[4]);
  }
  if(idx == 4){
    return diff(e[0][0][0].x[5],e[0][0][1].x[0]);
  }
  if(idx == 5){
    res &= diff(e[1][0][0].x[5],e[1][0][1].x[0]);
    res &= diff(e[0][0][1].x[1],e[1][0][1].x[4]);
  }
  if(idx == 6){
    res &= diff(e[0][0][1].x[2],e[0][1][1].x[3]);
    res &= diff(e[0][1][0].x[5],e[0][1][1].x[0]);
  }
  if(idx == 7){
    res &= diff(e[1][0][1].x[2],e[1][1][1].x[3]);
    res &= diff(e[0][1][1].x[1],e[1][1][1].x[4]);
    res &= diff(e[1][1][0].x[5],e[1][1][1].x[0]);
  }
  return res;
}

bool rec(int idx,int S){
  if(S == (1<<8)-1){ return true; }
  for(int i = 0 ; i < 8 ; i++){
    if((S >> i) & 1){ continue; }
    for(int j = 0 ; j < 4 ; j++){
      for(int k = 0 ; k < 4 ; k++){
        d[i].roll_N();
        e[idx%2][(idx%4)>1][idx>3] = d[i];
        if(check(idx) && rec(idx+1,S|(1<<i))){
          return true;
        }
      }
      for(int k = 0 ; k < 4 ; k++){
        d[i].roll_E();
        e[idx%2][(idx%4)>1][idx>3] = d[i];
        if(check(idx) && rec(idx+1,S|(1<<i))){
          return true;
        }
      }
      d[i].rotation();
    }
  }
  return false;
}

int main(){
  while(cin >> d[0].x[0],d[0].x[0] != '0'){
    for(int i = 0 ; i < 8 ; i++){
      for(int j = (i == 0) ; j < 6 ; j++){
        cin >> d[i].x[j];
      }
    }
    cout << (rec(0,0) ? "YES" : "NO") << endl;
  }
  return 0;
}