#include <bits/stdc++.h>
using namespace std;
long long a[10][4];
long long dist[8][8] = {0};
inline bool isok() {
  long long mini = 100000000000000000;
  for (int i = 0; i < 8; i++)
    for (int j = i + 1; j < 8; j++) {
      dist[i][j] = (a[i][0] - a[j][0]) * (a[i][0] - a[j][0]) +
                   (a[i][1] - a[j][1]) * (a[i][1] - a[j][1]) +
                   (a[i][2] - a[j][2]) * (a[i][2] - a[j][2]);
      mini = min(mini, dist[i][j]);
    }
  if (!mini) return false;
  int b[10];
  for (int i = 0; i < 8; i++) {
    int top = 0;
    for (int j = 0; j < 8; j++) {
      if (i == j) continue;
      if (dist[min(i, j)][max(i, j)] == mini) b[top++] = j;
    }
    if (top != 3) return false;
    long long dot1 = (a[b[0]][0] - a[i][0]) * (a[b[1]][0] - a[i][0]) +
                     (a[b[0]][1] - a[i][1]) * (a[b[1]][1] - a[i][1]) +
                     (a[b[0]][2] - a[i][2]) * (a[b[1]][2] - a[i][2]);
    long long dot2 = (a[b[0]][0] - a[i][0]) * (a[b[2]][0] - a[i][0]) +
                     (a[b[0]][1] - a[i][1]) * (a[b[2]][1] - a[i][1]) +
                     (a[b[0]][2] - a[i][2]) * (a[b[2]][2] - a[i][2]);
    long long dot3 = (a[b[2]][0] - a[i][0]) * (a[b[1]][0] - a[i][0]) +
                     (a[b[2]][1] - a[i][1]) * (a[b[1]][1] - a[i][1]) +
                     (a[b[2]][2] - a[i][2]) * (a[b[1]][2] - a[i][2]);
    if (dot1 || dot2 || dot3) return false;
  }
  return true;
}
int main() {
  ios_base::sync_with_stdio(0);
  for (int i = 0; i < 8; i++) {
    cin >> a[i][0] >> a[i][1] >> a[i][2];
    sort(a[i], a[i] + 3);
  }
  do {
    do {
      do {
        do {
          do {
            do {
              do {
                do {
                  if (isok()) {
                    cout << "YES\n";
                    for (int i = 0; i < 8; i++)
                      cout << a[i][0] << " " << a[i][1] << " " << a[i][2]
                           << endl;
                    return 0;
                  }
                } while (next_permutation(a[7], a[7] + 3));
              } while (next_permutation(a[6], a[6] + 3));
            } while (next_permutation(a[5], a[5] + 3));
          } while (next_permutation(a[4], a[4] + 3));
        } while (next_permutation(a[3], a[3] + 3));
      } while (next_permutation(a[2], a[2] + 3));
    } while (next_permutation(a[1], a[1] + 3));
  } while (next_permutation(a[0], a[0] + 3));
  cout << "NO\n";
  return 0;
}
