import java.io.*; import java.util.*; public class A { BufferedReader br; PrintWriter out; StringTokenizer st; boolean eof; int getMin(int[] a) { int ret = Integer.MAX_VALUE; for (int x : a) { ret = Math.min(ret, x); } return ret; } int getMax(int[] a) { int ret = Integer.MIN_VALUE; for (int x : a) { ret = Math.max(ret, x); } return ret; } long getMin(int[] xs, int[] ys, int vx, int vy) { long ret = Long.MAX_VALUE; for (int i = 0; i < xs.length; i++) { long val = (long)xs[i] * vx + (long)ys[i] * vy; ret = Math.min(ret, val); } return ret; } boolean good(int[] xs, int[] ys, int n, int dx, int dy) { int ex = -dy; int ey = dx; long minD = getMin(xs, ys, dx, dy); long maxD = -getMin(xs, ys, -dx, -dy); long minE = getMin(xs, ys, ex, ey); long maxE = -getMin(xs, ys, -ex, -ey); if (minD == maxD || minE == maxE) { return false; } for (int i = 0; i < n; i++) { long vD = (long)xs[i] * dx + (long)ys[i] * dy; long vE = (long)xs[i] * ex + (long)ys[i] * ey; if (!(vD == minD || vD == maxD || vE == minE || vE == maxE)) { return false; } } return true; } void solve() throws IOException { int n = nextInt(); int[] xs = new int[n]; int[] ys = new int[n]; for (int i = 0; i < n; i++) { xs[i] = nextInt(); ys[i] = nextInt(); } if (n <= 3) { out.println("YES"); return; } int cnt = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { int dx = xs[j] - xs[i]; int dy = ys[j] - ys[i]; if (dx == 0 && dy == 0) { continue; } cnt++; if (good(xs, ys, n, dx, dy)) { out.println("YES"); return; } } } out.println(cnt == 0 ? "YES" : "NO"); } A() throws IOException { br = new BufferedReader(new InputStreamReader(System.in)); out = new PrintWriter(System.out); int q = nextInt(); while (q-- > 0) { solve(); } out.close(); } public static void main(String[] args) throws IOException { new A(); } String nextToken() { while (st == null || !st.hasMoreTokens()) { try { st = new StringTokenizer(br.readLine()); } catch (Exception e) { eof = true; return null; } } return st.nextToken(); } String nextString() { try { return br.readLine(); } catch (IOException e) { eof = true; return null; } } int nextInt() throws IOException { return Integer.parseInt(nextToken()); } long nextLong() throws IOException { return Long.parseLong(nextToken()); } double nextDouble() throws IOException { return Double.parseDouble(nextToken()); } }