#include <bits/stdc++.h>
using namespace std;
long long a[8][3];
long long dist(int p1, int p2) {
  return (a[p1][0] - a[p2][0]) * (a[p1][0] - a[p2][0]) +
         (a[p1][1] - a[p2][1]) * (a[p1][1] - a[p2][1]) +
         (a[p1][2] - a[p2][2]) * (a[p1][2] - a[p2][2]);
}
long long Check(int p) {
  long long len1 = 0, len2 = 0, len3 = 0;
  for (int i = 0; i < 8; i++) {
    if (i != p) {
      long long len = dist(i, p);
      if (len == 0) return 0;
      if (len1 == 0 || len1 == len)
        len1 = len;
      else if (len2 == 0 || len2 == len)
        len2 = len;
      else if (len3 == 0 || len3 == len)
        len3 = len;
      else
        return 0;
    }
  }
  if (len1 > len2) swap(len1, len2);
  if (len1 > len3) swap(len1, len3);
  if (len2 > len3) swap(len2, len3);
  if (len2 != len1 + len1) return 0;
  if (len3 != len1 + len2) return 0;
  int cnt1 = 0, cnt2 = 0, cnt3 = 0;
  for (int i = 0; i < 8; i++) {
    if (i != p) {
      long long len = dist(i, p);
      if (len1 == len)
        cnt1++;
      else if (len2 == len)
        cnt2++;
      else if (len3 == len)
        cnt3++;
      else
        return 0;
    }
  }
  if (cnt1 == 3 && cnt2 == 3 && cnt3 == 1) return len1;
  return 0;
}
bool Func(int p) {
  if (p == 8) {
    long long len = Check(0);
    if (len == 0) return 0;
    for (int i = 1; i < 8; i++) {
      if (Check(i) != len) return 0;
    }
    return 1;
  }
  if (Func(p + 1)) return 1;
  swap(a[p][1], a[p][2]);
  if (Func(p + 1)) return 1;
  swap(a[p][1], a[p][2]);
  swap(a[p][0], a[p][1]);
  if (Func(p + 1)) return 1;
  swap(a[p][1], a[p][2]);
  if (Func(p + 1)) return 1;
  swap(a[p][1], a[p][2]);
  swap(a[p][0], a[p][1]);
  swap(a[p][0], a[p][2]);
  if (Func(p + 1)) return 1;
  swap(a[p][1], a[p][2]);
  if (Func(p + 1)) return 1;
  swap(a[p][1], a[p][2]);
  swap(a[p][0], a[p][2]);
  return 0;
}
int main() {
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 3; j++) cin >> a[i][j];
  }
  if (!Func(0)) {
    printf("NO\n");
    return 0;
  }
  printf("YES\n");
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 3; j++) cout << a[i][j] << " ";
    printf("\n");
  }
  return 0;
}
