using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static char[][] SList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => ReadLine().ToCharArray()).ToArray(); public static void Main() { Solve(); } static void Solve() { var t = NN; var ans = new bool[t]; for (var u = 0; u < t; ++u) { var c = NList; ans[u] = Kado(c[0], c[1], c[2], c[3], c[4], c[5]); } WriteLine(string.Join("\n", ans.Select(f => f ? "YES" : "NO"))); } static bool Kado(int a, int b, int c, int x, int y, int z) { var abeq = EqTime(a, b, x, y); var bceq = EqTime(b, c, y, z); var aceq = EqTime(a, c, x, z); if (abeq.pa == 0 || bceq.pa == 0 || aceq.pa == 0) return false; if (Check(a, b, c, x, y, z, 0) || Check(a, b, c, x, y, z, 10000) || Check(a, b, c, x, y, z, 0.00001)) return true; if (abeq.ch > 0 && bceq.ch > 0) { var t = ((double)abeq.ch / abeq.pa + (double)bceq.ch / bceq.pa) / 2; if (Check(a, b, c, x, y, z, t)) return true; } if (abeq.ch > 0) { var abt = (double)abeq.ch / abeq.pa; if (Check(a, b, c, x, y, z, abt + 0.00001) || Check(a, b, c, x, y, z, abt - 0.00001)) return true; } if (bceq.ch > 0) { var bct = (double)bceq.ch / bceq.pa; if (Check(a, b, c, x, y, z, bct + 0.00001) || Check(a, b, c, x, y, z, bct - 0.00001)) return true; } return false; } static bool Check(int a, int b, int c, int x, int y, int z, double t) { var at = a + x * t; var bt = b + y * t; var ct = c + z * t; return ((at > bt && bt < ct) || (at < bt && bt > ct)) && at != ct; } // aとbが同じになる時刻を有理数で返す static (int ch, int pa) EqTime(int a, int b, int x, int y) { if (a == b && x == y) return (1, 0); if (a == b) return (0, 1); if (x == y) return (-1, 1); // a + xt == b + yt // t == (b - a) / (x - y) var ch = b - a; var pa = x - y; if (pa < 0) { ch = -ch; pa = -pa; } var gcd = GCD(Math.Abs(ch), pa); return (ch / gcd, pa / gcd); } static int GCD(int a, int b) { if (a < b) return GCD(b, a); if (a % b == 0) return b; return GCD(b, a % b); } }