func_code_string: #include <bits/stdc++.h>   using namespace std;   using uint = unsigned int;   using ll = long long;   using ull = unsigned long long;   using pii = pair<int, int>;   using pll = pair<ll, ll>;   template <typename T1, typename T2>   ostream &operator<<(ostream &out, const pair<T1, T2> &item) {     out <<  (  << item.first <<  ,   << item.second <<  ) ;     return out;   }   template <typename T>   ostream &operator<<(ostream &out, const vector<T> &v) {     for (const auto &item : v) out << item <<    ;     return out;   }   const double EPS = 1e-9;   int v[10];   int a[10][5];   vector<vector<int>> permutations;   double dist(const pair<pii, int> &a, const pair<pii, int> &b) {     return sqrt(1.0 * (a.first.first - b.first.first) *                     (a.first.first - b.first.first) +                 1.0 * (a.first.second - b.first.second) *                     (a.first.second - b.first.second) +                 1.0 * (a.second - b.second) * (a.second - b.second));   }   void check() {     vector<pair<pii, int>> b;     for (int i = 0; i < 8; ++i) {       const auto &p = permutations[v[i]];       b.push_back({{a[i][p[0]], a[i][p[1]]}, a[i][p[2]]});     }     for (int i = 0; i < 8; ++i)       for (int j = i + 1; j < 8; ++j)         if (b[i] == b[j]) return;     auto c1 = *min_element(b.begin(), b.end());     auto c2 = *max_element(b.begin(), b.end());     double aux = dist(c1, c2) / sqrt(3.0);     if (abs(aux - round(aux)) > EPS) return;     int d = round(aux);     vector<int> v1, v2;     for (int i = 0; i < 8; ++i) {       if (abs(dist(c1, b[i]) - d) < EPS) v1.push_back(i);       if (abs(dist(c2, b[i]) - d) < EPS) v2.push_back(i);     }     if (v1.size() != 3 || v2.size() != 3) return;     cout <<  YES n ;     for (int i = 0; i < 8; ++i)       cout << b[i].first.first <<     << b[i].first.second <<     << b[i].second            <<   n ;     exit(0);   }   void bkt(int k) {     if (k == 8) {       check();       return;     }     for (int i = 0; i < permutations.size(); ++i) {       v[k] = i;       bkt(k + 1);     }   }   int main() {     ios_base::sync_with_stdio(false);     vector<int> p = {0, 1, 2};     do {       permutations.push_back(p);     } while (next_permutation(p.begin(), p.end()));     for (int i = 0; i < 8; ++i)       for (int j = 0; j < 3; ++j) cin >> a[i][j];     bkt(1);     cout <<  NO n ;     return 0;   }   