func_code_string: #include <bits/stdc++.h>   using namespace std;   struct Point {     double x, y;   };   struct Line {     double A, B, C;   };   Line Build(Point A, Point B) {     Line res;     res.A = A.y - B.y;     res.B = B.x - A.x;     res.C = A.x * B.y - B.x * A.y;     return res;   }   Line Per(Line l, Point A) {     Line res;     res.A = -l.B;     res.B = l.A;     res.C = -(res.A * A.x + res.B * A.y);     return res;   }   Line Par(Line l, Point A) {     Line res;     res.A = l.A;     res.B = l.B;     res.C = -(l.A * A.x + l.B * A.y);     return res;   }   Point Inter(Line a, Line b) {     Point res;     res.x = (a.B * b.C - b.B * a.C) / (a.A * b.B - b.A * a.B);     res.y = (a.A * b.C - b.A * a.C) / (b.A * a.B - b.B * a.A);     return res;   }   Point Middle(Point A, Point B) {     Point res;     res.x = (A.x + B.x) / 2.0;     res.y = (A.y + B.y) / 2.0;     return res;   }   double Dist(Point A, Point B) {     double res = sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));     return res;   }   double Dist2(Point A, Point B) {     double res = (A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y);     return res;   }   Point Mir(Point A, Point B) {     Point res;     res.x = B.x * 2 - A.x;     res.y = B.y * 2 - A.y;     return res;   }   double Cp2(Point A, Point B) {     double res = A.x * B.y - A.y * B.x;     return res;   }   double Cp3(Point O, Point A, Point B) {     double res = (A.x - O.x) * (B.y - O.y) - (B.x - O.x) * (A.y - O.y);     return res;   }   bool Zero(double x) { return (fabs(x) < 1e-9 ? true : false); }   Line Midper(Point A, Point B) {     Line res = Per(Build(A, B), Middle(A, B));     return res;   }   bool Check(Point ans[]) {     double tmp;     for (int i = 0; i < 4; i++) {       if (Zero(Cp3(ans[i], ans[(i + 1) % 4], ans[(i + 2) % 4]))) return false;       if (i == 0)         tmp = Cp3(ans[i], ans[(i + 1) % 4], ans[(i + 2) % 4]);       else if (tmp * Cp3(ans[i], ans[(i + 1) % 4], ans[(i + 2) % 4]) < 0)         return false;     }     return true;   }   bool Mak(Point A, Point B, Point C) {     if (Cp3(A, B, C) > 1e-9) swap(B, C);     Line l1 = Midper(B, A);     Line l2 = Midper(B, C);     Point E = Inter(l1, l2);     Point F = Mir(E, B);     Point ans[4];     ans[0] = Inter(Par(l2, F), l1);     ans[1] = Mir(ans[0], B);     ans[2] = Mir(ans[1], C);     ans[3] = Mir(ans[0], A);     if (Check(ans) == false) return false;     puts( YES );     for (int i = 3; i < 7; i++) {       printf( %.9f %.9f , ans[i & 3].x, ans[i & 3].y);       putchar(i < 6 ? 32 : 10);     }     return true;   }   int main() {     int t;     scanf( %d , &t);     while (t--) {       Point a, b, c;       scanf( %lf%lf%lf%lf%lf%lf , &a.x, &a.y, &b.x, &b.y, &c.x, &c.y);       if (!Zero(Cp3(a, b, c)) && (Mak(a, b, c) || Mak(b, c, a) || Mak(c, a, b)))         continue;       puts( NO n );     }     return 0;   }   