#include <bits/stdc++.h>
using namespace std;
struct point {
  long long x, y;
  point(long long xx = 0, long long yy = 0) : x(xx), y(yy){};
};
bool operator==(const point &A, const point &B) {
  return A.x == B.x && A.y == B.y;
}
point operator-(const point &A, const point &B) {
  return point(A.x - B.x, A.y - B.y);
}
long long operator*(const point &A, const point &B) {
  return A.x * B.x + A.y * B.y;
}
long long operator%(const point &A, const point &B) {
  return A.x * B.y - A.y * B.x;
}
struct line {
  point a, b;
};
line s[3];
bool deal(point m, point l) {
  return m % l == 0 && m * l * 5 >= l * l && m * l * 5 <= l * l * 4;
}
bool deal(line m, line l1, line l2) {
  l1.b = l1.b - l1.a;
  l2.b = l2.b - l2.a;
  m.b = m.b - l1.a;
  m.a = m.a - l1.a;
  return l1.a == l2.a && l1.b * l2.b >= 0 && l1.b % l2.b != 0 &&
         deal(m.a, l1.b) && deal(m.b, l2.b);
}
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    int i, j, k, l;
    for (i = 0; i < 3; i++) cin >> s[i].a.x >> s[i].a.y >> s[i].b.x >> s[i].b.y;
    int ff = 0;
    for (i = 0; i < 2; i++) {
      for (j = 0; j < 2; j++) {
        for (k = 0; k < 2; k++) {
          for (l = 0; l < 3; l++)
            if (deal(s[l], s[(l + 1) % 3], s[(l + 2) % 3])) {
              puts("YES");
              ff = 1;
            }
          swap(s[2].a, s[2].b);
        }
        swap(s[1].a, s[1].b);
      }
      swap(s[0].a, s[0].b);
    }
    if (!ff) puts("NO");
  }
}
