import java.util.*;
import java.io.*;
import java.awt.geom.*;
import java.math.*;

public class Main {

	static final Scanner in = new Scanner(System.in);
	static final PrintWriter out = new PrintWriter(System.out,false);

	static void solve() {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	}

	public static void main(String[] args) {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	}

	static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}
} import java.util.*; util.* java import java.io.*; io.* java import java.awt.geom.*; geom.* java.awt import java.math.*; math.* java public class Main {

	static final Scanner in = new Scanner(System.in);
	static final PrintWriter out = new PrintWriter(System.out,false);

	static void solve() {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	}

	public static void main(String[] args) {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	}

	static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}
} Main static final Scanner in = new Scanner(System.in); in new Scanner(System.in) static final PrintWriter out = new PrintWriter(System.out,false); out new PrintWriter(System.out,false) static void solve() {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	} solve {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	} int n = in.nextInt(); n in.nextInt() in.nextInt in while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		} n-- > 0 n-- n 0 {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		} int a = in.nextInt(); a in.nextInt() in.nextInt in int b = in.nextInt(); b in.nextInt() in.nextInt in int c = in.nextInt(); c in.nextInt() in.nextInt in if (a < b) {
				int t = a; a = b; b = t;
			} a < b a b {
				int t = a; a = b; b = t;
			} int t = a; t a a = b a b b = t b t if (a < c) {
				int t = a; a = c; c = t;
			} a < c a c {
				int t = a; a = c; c = t;
			} int t = a; t a a = c a c c = t c t out.println(a*a == b*b + c*c ? "YES" : "NO") out.println out a*a == b*b + c*c ? "YES" : "NO" a*a == b*b + c*c a*a a a b*b + c*c b*b b b c*c c c "YES" "NO" public static void main(String[] args) {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	} main {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	} long start = System.currentTimeMillis(); start System.currentTimeMillis() System.currentTimeMillis System solve() solve out.flush() out.flush out long end = System.currentTimeMillis(); end System.currentTimeMillis() System.currentTimeMillis System in.close() in.close in out.close() out.close out String[] args args static void trace(Object... o) { System.out.println(Arrays.deepToString(o));} trace { System.out.println(Arrays.deepToString(o));} System.out.println(Arrays.deepToString(o)) System.out.println System.out System System.out Arrays.deepToString(o) Arrays.deepToString Arrays o Object... o o public class Main {

	static final Scanner in = new Scanner(System.in);
	static final PrintWriter out = new PrintWriter(System.out,false);

	static void solve() {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	}

	public static void main(String[] args) {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	}

	static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}
} public class Main {

	static final Scanner in = new Scanner(System.in);
	static final PrintWriter out = new PrintWriter(System.out,false);

	static void solve() {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	}

	public static void main(String[] args) {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	}

	static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}
} Main
import java.util.*;
import java.io.*;
import java.awt.geom.*;
import java.math.*;

public class Main {

	static final Scanner in = new Scanner(System.in);
	static final PrintWriter out = new PrintWriter(System.out,false);

	static void solve() {

		int n = in.nextInt();

		while (n-- > 0) {
			int a = in.nextInt();
			int b = in.nextInt();
			int c = in.nextInt();

			if (a < b) {
				int t = a; a = b; b = t;
			}
			if (a < c) {
				int t = a; a = c; c = t;
			}

			out.println(a*a == b*b + c*c ? "YES" : "NO");
		}
	}

	public static void main(String[] args) {
		long start = System.currentTimeMillis();

		solve();
		out.flush();

		long end = System.currentTimeMillis();
		//trace(end-start + "ms");
		in.close();
		out.close();
	}

	static void trace(Object... o) { System.out.println(Arrays.deepToString(o));}
}