#include <bits/stdc++.h>
using namespace std;
long long a[9][5], b[8];
long long dis(int i, int j) {
  long long x = a[i][0] - a[j][0], y = a[i][1] - a[j][1], z = a[i][2] - a[j][2];
  return x * x + y * y + z * z;
}
bool check() {
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) {
      if (i == j) continue;
      if (j < i)
        b[j] = dis(i, j);
      else
        b[j - 1] = dis(i, j);
    }
    sort(b, b + 7);
    long long t1 = b[0], t2 = 2 * b[0], t3 = 3 * b[0];
    if (t1 == 0 || t1 != b[1] || t1 != b[2] || t2 != b[3] || t2 != b[4] ||
        t2 != b[5] || t3 != b[6])
      return false;
  }
  return true;
}
bool is_ok(int cur) {
  if (cur == 8) {
    return check();
  }
  sort(a[cur], a[cur] + 3);
  do {
    if (is_ok(cur + 1)) return true;
  } while (next_permutation(a[cur], a[cur] + 3));
  return false;
}
int main() {
  for (int i = 0; i < 8; i++) cin >> a[i][0] >> a[i][1] >> a[i][2];
  if (!is_ok(0))
    puts("NO");
  else {
    puts("YES");
    for (int i = 0; i < 8; i++)
      for (int j = 0; j < 3; j++) {
        cout << a[i][j] << ' ';
        if (j == 2) cout << endl;
      }
  }
  return 0;
}
