#include <bits/stdc++.h>
using namespace std;
struct pnt {
  double x, y;
  pnt operator-(const pnt &p) const {
    pnt ret;
    ret.x = x - p.x;
    ret.y = y - p.y;
    return ret;
  }
  bool operator==(const pnt &p) const {
    if (fabs(x - p.x) < 1e-10 && fabs(y - p.y) < 1e-10) return 1;
    return 0;
  }
};
double nummul(const pnt &v1, const pnt &v2) {
  return v1.x * (double)v2.x + v1.y * (double)v2.y;
}
double submul(const pnt &v1, const pnt &v2) {
  return ((v1.x) * (v2.y) - (v2.x) * (v1.y));
}
double getang(const pnt &v1, const pnt &v2) {
  return acos(nummul(v1, v2) / sqrt(nummul(v1, v1) * nummul(v2, v2)));
}
double getmin(double a, double b) { return a < b ? a : b; }
double getmax(double a, double b) { return a < b ? b : a; }
double getdis(pnt p1, pnt p2) {
  return (((p1.x - p2.x)) * ((p1.x - p2.x))) +
         (((p1.y - p2.y)) * ((p1.y - p2.y)));
}
struct seg {
  pnt p1, p2;
  bool onseg(const pnt &p) {
    if (fabs(submul(((p) - (p1)), ((p) - (p2)))) < 1e-10) {
      if (p.x <= max(p1.x, p2.x) && p.x >= min(p1.x, p2.x) &&
          p.y <= max(p1.y, p2.y) && p.y >= min(p1.y, p2.y))
        return true;
    }
    return false;
  }
  void in() { scanf("%lf%lf%lf%lf", &p1.x, &p1.y, &p2.x, &p2.y); }
};
seg s[3];
bool solve() {
  int x = -1, y = -1;
  for (int i = 0; i < 2; i++) {
    bool flag = false;
    for (int j = i + 1; j < 3; j++) {
      if (s[i].p1 == s[j].p1 || s[i].p1 == s[j].p2 || s[i].p2 == s[j].p1 ||
          s[i].p2 == s[j].p2) {
        flag = true;
        x = i;
        y = j;
        break;
      }
    }
    if (flag) {
      break;
    }
  }
  if (x == -1) return false;
  swap(s[0], s[x]);
  swap(s[1], s[y]);
  if (!(s[0].p1 == s[1].p1 || s[0].p1 == s[1].p2)) swap(s[0].p1, s[0].p2);
  if (!(s[1].p1 == s[0].p1)) swap(s[1].p1, s[1].p2);
  double tmp = getang(((s[0].p2) - (s[0].p1)), ((s[1].p2) - (s[1].p1)));
  if (!(tmp > 1e-10 && tmp < acos(-1.0) / 2.0 + 1e-10)) return false;
  if (!s[0].onseg(s[2].p1)) swap(s[2].p1, s[2].p2);
  if (!(s[0].onseg(s[2].p1) && s[1].onseg(s[2].p2))) return false;
  double l1, l2;
  l1 = getdis(s[0].p1, s[2].p1);
  l2 = getdis(s[0].p2, s[2].p1);
  if (l1 > l2) swap(l1, l2);
  if (l1 < l2 / 16.0 - 1e-10) return false;
  l1 = getdis(s[1].p1, s[2].p2);
  l2 = getdis(s[1].p2, s[2].p2);
  if (l1 > l2) swap(l1, l2);
  if (l1 < l2 / 16.0 - 1e-10) return false;
  return true;
}
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    for (int i = 0; i < 3; i++) s[i].in();
    if (solve())
      cout << "YES" << endl;
    else
      cout << "NO" << endl;
  }
  return 0;
}
