/**
 * @author yuichirw
 *
 */
import java.util.*;
import static java.util.Arrays.*;

public class Main {
	static int n;
	static int[] edges = new int[3];
	static Scanner sc = new Scanner(System.in);
	
	static void read() {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	}
	
	static String solve() {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	}
	
	public static void main(String[] args) {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	}
} import java.util.*; util.* java import static java.util.Arrays.*; import static java.util.Arrays.*; import static java.util.Arrays.*; public class Main {
	static int n;
	static int[] edges = new int[3];
	static Scanner sc = new Scanner(System.in);
	
	static void read() {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	}
	
	static String solve() {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	}
	
	public static void main(String[] args) {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	}
} Main static int n; n static int[] edges = new int[3]; edges new int[3] 3 static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) static void read() {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	} read {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	} for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i < 3 i 3 i++ i++ i {
			edges[i] = sc.nextInt();
		} {
			edges[i] = sc.nextInt();
		} edges[i] = sc.nextInt() edges[i] edges i sc.nextInt() sc.nextInt sc static String solve() {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	} solve {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	} sort(edges) sort edges int a a b b c; c a = edges[0] a edges[0] edges 0 b = edges[1] b edges[1] edges 1 c = edges[2] c edges[2] edges 2 if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		} (a * a + b * b) == (c * c) (a * a + b * b) a * a a a b * b b b (c * c) c c {
			return "YES";
		} return "YES"; "YES" {
			return "NO";
		} return "NO"; "NO" public static void main(String[] args) {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	} main {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	} n = sc.nextInt() n sc.nextInt() sc.nextInt sc while(n-- > 0) {
			read();
			System.out.println(solve());
		} n-- > 0 n-- n 0 {
			read();
			System.out.println(solve());
		} read() read System.out.println(solve()) System.out.println System.out System System.out solve() solve String[] args args public class Main {
	static int n;
	static int[] edges = new int[3];
	static Scanner sc = new Scanner(System.in);
	
	static void read() {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	}
	
	static String solve() {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	}
	
	public static void main(String[] args) {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	}
} public class Main {
	static int n;
	static int[] edges = new int[3];
	static Scanner sc = new Scanner(System.in);
	
	static void read() {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	}
	
	static String solve() {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	}
	
	public static void main(String[] args) {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	}
} Main
/**
 * @author yuichirw
 *
 */
import java.util.*;
import static java.util.Arrays.*;

public class Main {
	static int n;
	static int[] edges = new int[3];
	static Scanner sc = new Scanner(System.in);
	
	static void read() {
		for(int i = 0; i < 3; i++) {
			edges[i] = sc.nextInt();
		}
	}
	
	static String solve() {
		sort(edges);
		int a,b,c;
		a = edges[0]; b = edges[1]; c = edges[2];
		if((a * a + b * b) == (c * c)) {
			return "YES";
		} else {
			return "NO";
		}
	}
	
	public static void main(String[] args) {
		n = sc.nextInt();
		while(n-- > 0) {
			read();
			System.out.println(solve());
		}
	}
}