#include <bits/stdc++.h>
using namespace std;
int main() {
  long long p[8][4];
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 3; j++) scanf("%I64d", &p[i][j]);
    sort(&p[i][0], &p[i][3]);
  }
  do {
    do {
      do {
        do {
          do {
            do {
              do {
                do {
                  long long curd, mind = 180000000000000000;
                  for (int i = 1; i < 8; ++i) {
                    curd = (p[0][0] - p[i][0]) * (p[0][0] - p[i][0]) +
                           (p[0][1] - p[i][1]) * (p[0][1] - p[i][1]) +
                           (p[0][2] - p[i][2]) * (p[0][2] - p[i][2]);
                    if (curd < mind) mind = curd;
                  }
                  long long dist1 = mind, dist2 = mind + mind,
                            dist3 = dist2 + dist1;
                  int count1 = 0, count2 = 0, count3 = 0;
                  bool good = 1;
                  for (int i = 0; i < 8; i++)
                    for (int j = 0; j < 8; j++)
                      if (i != j) {
                        curd = (p[i][0] - p[j][0]) * (p[i][0] - p[j][0]) +
                               (p[i][1] - p[j][1]) * (p[i][1] - p[j][1]) +
                               (p[i][2] - p[j][2]) * (p[i][2] - p[j][2]);
                        if (curd == dist1)
                          count1++;
                        else if (curd == dist2)
                          count2++;
                        else if (curd == dist3)
                          count3++;
                        else {
                          good = 0;
                          break;
                        }
                      }
                  if (good && count1 == 24 && count2 == 24 && count3 == 8) {
                    printf("YES\n");
                    for (int i = 0; i < 8; i++) {
                      for (int j = 0; j < 3; j++) printf("%I64d ", p[i][j]);
                      printf("\n");
                    }
                    return 0;
                  }
                } while (next_permutation(&p[7][0], &p[7][3]));
              } while (next_permutation(&p[6][0], &p[6][3]));
            } while (next_permutation(&p[5][0], &p[5][3]));
          } while (next_permutation(&p[4][0], &p[4][3]));
        } while (next_permutation(&p[3][0], &p[3][3]));
      } while (next_permutation(&p[2][0], &p[2][3]));
    } while (next_permutation(&p[1][0], &p[1][3]));
  } while (next_permutation(&p[0][0], &p[0][3]));
  printf("NO");
  return 0;
}
