import java.util.*;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	}
}

class Triangle {
	private int a;
	private int b;
	private int c;
	public Triangle(String[] nums) {
		a = Integer.parseInt(nums[0]);
		a *= a;
		b = Integer.parseInt(nums[1]);
		b *= b;
		c = Integer.parseInt(nums[2]);
		c *= c;
	}
	
	public void execute() {
		int biggest = biggest();
		String result = "";
		if(biggest == 0) {
			result = sumNum(this.b, this.c, this.a);
		} else if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		}
		System.out.println(result);
	}
	
	private int biggest() {
		int result = Math.max(c, Math.max(a, b));
		if(result == a) {
			return 0;
		} else if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		}
	}
	
	private String sumNum(int a, int b, int c) {
		String result = "";
		if(c == a + b) {
			result = "YES";
		} else {
			result = "NO";
		}
		return result;
	}
} import java.util.*; util.* java public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int roop = Integer.parseInt(sc.nextLine()); roop Integer.parseInt(sc.nextLine()) Integer.parseInt Integer sc.nextLine() sc.nextLine sc for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		} int i=0; int i=0; i 0 i<roop i roop i++ i++ i {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		} {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		} Triangle tri = new Triangle(sc.nextLine().split(" ")); tri new Triangle(sc.nextLine().split(" ")) tri.execute() tri.execute tri String[] args args class Triangle {
	private int a;
	private int b;
	private int c;
	public Triangle(String[] nums) {
		a = Integer.parseInt(nums[0]);
		a *= a;
		b = Integer.parseInt(nums[1]);
		b *= b;
		c = Integer.parseInt(nums[2]);
		c *= c;
	}
	
	public void execute() {
		int biggest = biggest();
		String result = "";
		if(biggest == 0) {
			result = sumNum(this.b, this.c, this.a);
		} else if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		}
		System.out.println(result);
	}
	
	private int biggest() {
		int result = Math.max(c, Math.max(a, b));
		if(result == a) {
			return 0;
		} else if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		}
	}
	
	private String sumNum(int a, int b, int c) {
		String result = "";
		if(c == a + b) {
			result = "YES";
		} else {
			result = "NO";
		}
		return result;
	}
} Triangle private int a; a private int b; b private int c; c public Triangle(String[] nums) {
		a = Integer.parseInt(nums[0]);
		a *= a;
		b = Integer.parseInt(nums[1]);
		b *= b;
		c = Integer.parseInt(nums[2]);
		c *= c;
	} Triangle {
		a = Integer.parseInt(nums[0]);
		a *= a;
		b = Integer.parseInt(nums[1]);
		b *= b;
		c = Integer.parseInt(nums[2]);
		c *= c;
	} a = Integer.parseInt(nums[0]) a Integer.parseInt(nums[0]) Integer.parseInt Integer nums[0] nums 0 a *= a a a b = Integer.parseInt(nums[1]) b Integer.parseInt(nums[1]) Integer.parseInt Integer nums[1] nums 1 b *= b b b c = Integer.parseInt(nums[2]) c Integer.parseInt(nums[2]) Integer.parseInt Integer nums[2] nums 2 c *= c c c String[] nums nums public void execute() {
		int biggest = biggest();
		String result = "";
		if(biggest == 0) {
			result = sumNum(this.b, this.c, this.a);
		} else if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		}
		System.out.println(result);
	} execute {
		int biggest = biggest();
		String result = "";
		if(biggest == 0) {
			result = sumNum(this.b, this.c, this.a);
		} else if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		}
		System.out.println(result);
	} int biggest = biggest(); biggest biggest() biggest String result = ""; result "" if(biggest == 0) {
			result = sumNum(this.b, this.c, this.a);
		} else if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		} biggest == 0 biggest 0 {
			result = sumNum(this.b, this.c, this.a);
		} result = sumNum(this.b, this.c, this.a) result sumNum(this.b, this.c, this.a) sumNum this.b this this.b this.c this this.c this.a this this.a if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		} biggest == 1 biggest 1 {
			result = sumNum(this.a, this.c, this.b);
		} result = sumNum(this.a, this.c, this.b) result sumNum(this.a, this.c, this.b) sumNum this.a this this.a this.c this this.c this.b this this.b if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		} biggest == 2 biggest 2 {
			result = sumNum(this.a, this.b, this.c);
		} result = sumNum(this.a, this.b, this.c) result sumNum(this.a, this.b, this.c) sumNum this.a this this.a this.b this this.b this.c this this.c System.out.println(result) System.out.println System.out System System.out result private int biggest() {
		int result = Math.max(c, Math.max(a, b));
		if(result == a) {
			return 0;
		} else if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		}
	} biggest {
		int result = Math.max(c, Math.max(a, b));
		if(result == a) {
			return 0;
		} else if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		}
	} int result = Math.max(c, Math.max(a, b)); result Math.max(c, Math.max(a, b)) Math.max Math c Math.max(a, b) Math.max Math a b if(result == a) {
			return 0;
		} else if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		} result == a result a {
			return 0;
		} return 0; 0 if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		} result == b result b {
			return 1;
		} return 1; 1 if(result == c) {
			return 2;
		} else {
			return 3;
		} result == c result c {
			return 2;
		} return 2; 2 {
			return 3;
		} return 3; 3 private String sumNum(int a, int b, int c) {
		String result = "";
		if(c == a + b) {
			result = "YES";
		} else {
			result = "NO";
		}
		return result;
	} sumNum {
		String result = "";
		if(c == a + b) {
			result = "YES";
		} else {
			result = "NO";
		}
		return result;
	} String result = ""; result "" if(c == a + b) {
			result = "YES";
		} else {
			result = "NO";
		} c == a + b c a + b a b {
			result = "YES";
		} result = "YES" result "YES" {
			result = "NO";
		} result = "NO" result "NO" return result; result int a a int b b int c c public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	}
} public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	}
} Main
import java.util.*;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int roop = Integer.parseInt(sc.nextLine());
		for(int i=0; i<roop; i++) {
			Triangle tri = new Triangle(sc.nextLine().split(" "));
			tri.execute();
		}
	}
}

class Triangle {
	private int a;
	private int b;
	private int c;
	public Triangle(String[] nums) {
		a = Integer.parseInt(nums[0]);
		a *= a;
		b = Integer.parseInt(nums[1]);
		b *= b;
		c = Integer.parseInt(nums[2]);
		c *= c;
	}
	
	public void execute() {
		int biggest = biggest();
		String result = "";
		if(biggest == 0) {
			result = sumNum(this.b, this.c, this.a);
		} else if(biggest == 1) {
			result = sumNum(this.a, this.c, this.b);
		} else if(biggest == 2) {
			result = sumNum(this.a, this.b, this.c);
		}
		System.out.println(result);
	}
	
	private int biggest() {
		int result = Math.max(c, Math.max(a, b));
		if(result == a) {
			return 0;
		} else if(result == b) {
			return 1;
		} else if(result == c) {
			return 2;
		} else {
			return 3;
		}
	}
	
	private String sumNum(int a, int b, int c) {
		String result = "";
		if(c == a + b) {
			result = "YES";
		} else {
			result = "NO";
		}
		return result;
	}
}