import io import sys from collections import defaultdict, deque, Counter from itertools import permutations, combinations, accumulate from heapq import heappush, heappop from bisect import bisect_right, bisect_left from math import gcd import math _INPUT = """\ 6 3 0 6 6 6 2 2 4 2 3 1 4 1 5 9 2 6 1 1 2 2 3 3 4 4 """ def input(): return sys.stdin.readline()[:-1] def sign(x): if x>0: return 1 if x<0: return -1 return 0 def solve(test): t=int(input()) for _ in range(t): x1,y1,x2,y2,X1,Y1,X2,Y2=map(int, input().split()) if x1==X1 and y1==Y1 and x2==X2 and y2==Y2: print("Yes") else: if (x1-x2)**2+(y1-y2)**2>(X1-X2)**2+(Y1-Y2)**2 and (X1-X2)*(y1-y2)==(Y1-Y2)*(x1-x2) and sign(x2-x1)==sign(X2-X1) and sign(y2-y1)==sign(Y2-Y1): print("Yes") else: print("No") def random_input(): from random import randint,shuffle N=randint(1,10) M=randint(1,N) A=list(range(1,M+1))+[randint(1,M) for _ in range(N-M)] shuffle(A) return (" ".join(map(str, [N,M]))+"\n"+" ".join(map(str, A))+"\n")*3 def simple_solve(): return [] def main(test): if test==0: solve(0) elif test==1: sys.stdin = io.StringIO(_INPUT) case_no=int(input()) for _ in range(case_no): solve(0) else: for i in range(1000): sys.stdin = io.StringIO(random_input()) x=solve(1) y=simple_solve() if x!=y: print(i,x,y) print(*[line for line in sys.stdin],sep='') break #0:提出用、1:与えられたテスト用、2:ストレステスト用 main(0)