#include <bits/stdc++.h>
using namespace std;
long long a[9][3];
unsigned long long ras(long long x, long long y, long long z, long long x2,
                       long long y2, long long z2) {
  return (x - x2) * (x - x2) + (y - y2) * (y - y2) + (z - z2) * (z - z2);
}
int main() {
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 3; j++) cin >> a[i][j];
    sort(a[i], a[i] + 3);
  }
  int l1 = 0, l2 = 0, l3 = 0;
  unsigned long long l = 0;
  do {
    do {
      do {
        do {
          do {
            do {
              do {
                l1 = 0;
                l2 = 0;
                l3 = 0;
                l = 1e18 * 2;
                for (int i = 0; i < 8; i++)
                  for (int j = 0; j < 8, j != i; j++)
                    l = min(l, ras(a[i][0], a[i][1], a[i][2], a[j][0], a[j][1],
                                   a[j][2]));
                for (int i = 0; i < 8; i++)
                  for (int j = 0; j < 8, j != i; j++) {
                    unsigned long long x = ras(a[i][0], a[i][1], a[i][2],
                                               a[j][0], a[j][1], a[j][2]);
                    if (x == l)
                      l1++;
                    else if (x == 2 * l)
                      l2++;
                    else if (x == 3 * l)
                      l3++;
                    else
                      break;
                  }
                if (l1 == 12 && l2 == 12 && l3 == 4) {
                  cout << "YES" << endl;
                  for (int i = 0; i < 8; i++) {
                    for (int j = 0; j < 3; j++) cout << a[i][j] << " ";
                    puts("");
                  }
                  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));
  cout << "NO";
}
