#include <bits/stdc++.h>
using namespace std;
struct segment {
  long long xb, yb, xe, ye;
};
segment p[3];
int n;
bool flag;
long long dist(long long x1, long long y1, long long x2, long long y2) {
  return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
bool angle(long long x1, long long y1, long long x2, long long y2) {
  double l1 = sqrt(dist(0, 0, x1, y1));
  double l2 = sqrt(dist(0, 0, x2, y2));
  double cs = (x1 * x2 + y1 * y2) / (l1 * l2);
  return (0 <= cs && cs < 1);
}
bool point_in_box(long long x, long long y, int i) {
  long long x1 = min(p[i].xb, p[i].xe);
  long long y1 = min(p[i].yb, p[i].ye);
  long long x2 = max(p[i].xb, p[i].xe);
  long long y2 = max(p[i].yb, p[i].ye);
  return (x1 <= x && x <= x2 && y1 <= y && y <= y2);
}
bool point_on_segment(long long x, long long y, int i) {
  long long a = p[i].yb - p[i].ye;
  long long b = p[i].xe - p[i].xb;
  long long c = -(a * p[i].xb + b * p[i].yb);
  return (a * x + b * y + c == 0 && point_in_box(x, y, i));
}
bool check(int i, int j, int k) {
  bool flag = false;
  if (p[i].xb == p[j].xb && p[i].yb == p[j].yb)
    flag = angle(p[i].xe - p[i].xb, p[i].ye - p[i].yb, p[j].xe - p[i].xb,
                 p[j].ye - p[i].yb);
  if (p[i].xb == p[j].xe && p[i].yb == p[j].ye)
    flag = angle(p[i].xe - p[i].xb, p[i].ye - p[i].yb, p[j].xb - p[i].xb,
                 p[j].yb - p[i].yb);
  if (p[i].xe == p[j].xb && p[i].ye == p[j].yb)
    flag = angle(p[i].xb - p[i].xe, p[i].yb - p[i].ye, p[j].xe - p[i].xe,
                 p[j].ye - p[i].ye);
  if (p[i].xe == p[j].xe && p[i].ye == p[j].ye)
    flag = angle(p[i].xb - p[i].xe, p[i].yb - p[i].ye, p[j].xb - p[i].xe,
                 p[j].yb - p[i].ye);
  if (flag && point_on_segment(p[k].xb, p[k].yb, i) &&
      point_on_segment(p[k].xe, p[k].ye, j)) {
    long long d1 = dist(p[i].xb, p[i].yb, p[k].xb, p[k].yb);
    long long d2 = dist(p[i].xe, p[i].ye, p[k].xb, p[k].yb);
    if (d1 > d2) swap(d1, d2);
    long long d3 = dist(p[j].xb, p[j].yb, p[k].xe, p[k].ye);
    long long d4 = dist(p[j].xe, p[j].ye, p[k].xe, p[k].ye);
    if (d3 > d4) swap(d3, d4);
    flag = (16 * d1 >= d2 && 16 * d3 >= d4);
  } else if (flag && point_on_segment(p[k].xb, p[k].yb, j) &&
             point_on_segment(p[k].xe, p[k].ye, i)) {
    long long d1 = dist(p[j].xb, p[j].yb, p[k].xb, p[k].yb);
    long long d2 = dist(p[j].xe, p[j].ye, p[k].xb, p[k].yb);
    if (d1 > d2) swap(d1, d2);
    long long d3 = dist(p[i].xb, p[i].yb, p[k].xe, p[k].ye);
    long long d4 = dist(p[i].xe, p[i].ye, p[k].xe, p[k].ye);
    if (d3 > d4) swap(d3, d4);
    flag = (16 * d1 >= d2 && 16 * d3 >= d4);
  } else
    flag = false;
  return flag;
}
int main() {
  cin >> n;
  for (int k = 0; k < n; k++) {
    cin >> p[0].xb >> p[0].yb >> p[0].xe >> p[0].ye;
    cin >> p[1].xb >> p[1].yb >> p[1].xe >> p[1].ye;
    cin >> p[2].xb >> p[2].yb >> p[2].xe >> p[2].ye;
    flag = false;
    for (int i = 0; !flag && i < 2; i++)
      for (int j = i + 1; !flag && j < 3; j++) flag = check(i, j, 3 - i - j);
    cout << ((flag) ? "YES\n" : "NO\n");
  }
  return 0;
}
