import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	}
}

class Triangle {
	private int id, data1, data2, data3, count;
	private Triangle[] triangles;

	/*
	 * instance
	 */
	public Triangle(int data1, int data2, int data3) {
		this.data1 = data1;
		this.data2 = data2;
		this.data3 = data3;
	}

	public boolean check() {
		int temp1, temp2, temp3;
		temp1 = (int) Math.pow(data1, 2);
		temp2 = (int) Math.pow(data2, 2);
		temp3 = (int) Math.pow(data3, 2);
		if (temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2) {
			return true;
		} else {
			return false;
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	}
} Main public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	} main {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	} BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); in new BufferedReader(new InputStreamReader(System.in)) String[] strTemp; strTemp int numberOfTriangle numberOfTriangle data1 data1 data2 data2 data3; data3 numberOfTriangle = Integer.parseInt(in.readLine()) numberOfTriangle Integer.parseInt(in.readLine()) Integer.parseInt Integer in.readLine() in.readLine in Triangle[] triangles = new Triangle[numberOfTriangle]; triangles new Triangle[numberOfTriangle] numberOfTriangle for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		} int i = 0; int i = 0; i 0 i < numberOfTriangle i numberOfTriangle i++ i++ i {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		} {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		} strTemp = in.readLine().split(" ") strTemp in.readLine().split(" ") in.readLine().split in.readLine() in.readLine in " " data1 = Integer.parseInt(strTemp[0]) data1 Integer.parseInt(strTemp[0]) Integer.parseInt Integer strTemp[0] strTemp 0 data2 = Integer.parseInt(strTemp[1]) data2 Integer.parseInt(strTemp[1]) Integer.parseInt Integer strTemp[1] strTemp 1 data3 = Integer.parseInt(strTemp[2]) data3 Integer.parseInt(strTemp[2]) Integer.parseInt Integer strTemp[2] strTemp 2 triangles[i] = new Triangle(data1, data2, data3) triangles[i] triangles i new Triangle(data1, data2, data3) for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		} int j = 0; int j = 0; j 0 j < triangles.length j triangles.length triangles triangles.length j++ j++ j {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		} {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		} if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			} triangles[j].check() triangles[j].check triangles[j] triangles j {
				System.out.println("YES");
			} System.out.println("YES") System.out.println System.out System System.out "YES" {
				System.out.println("NO");
			} System.out.println("NO") System.out.println System.out System System.out "NO" String[] args args class Triangle {
	private int id, data1, data2, data3, count;
	private Triangle[] triangles;

	/*
	 * instance
	 */
	public Triangle(int data1, int data2, int data3) {
		this.data1 = data1;
		this.data2 = data2;
		this.data3 = data3;
	}

	public boolean check() {
		int temp1, temp2, temp3;
		temp1 = (int) Math.pow(data1, 2);
		temp2 = (int) Math.pow(data2, 2);
		temp3 = (int) Math.pow(data3, 2);
		if (temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2) {
			return true;
		} else {
			return false;
		}
	}
} Triangle private int id id data1 data1 data2 data2 data3 data3 count; count private Triangle[] triangles; triangles /*
	 * instance
	 */
	public Triangle(int data1, int data2, int data3) {
		this.data1 = data1;
		this.data2 = data2;
		this.data3 = data3;
	} Triangle {
		this.data1 = data1;
		this.data2 = data2;
		this.data3 = data3;
	} this.data1 = data1 this.data1 this this.data1 data1 this.data2 = data2 this.data2 this this.data2 data2 this.data3 = data3 this.data3 this this.data3 data3 int data1 data1 int data2 data2 int data3 data3 public boolean check() {
		int temp1, temp2, temp3;
		temp1 = (int) Math.pow(data1, 2);
		temp2 = (int) Math.pow(data2, 2);
		temp3 = (int) Math.pow(data3, 2);
		if (temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2) {
			return true;
		} else {
			return false;
		}
	} check {
		int temp1, temp2, temp3;
		temp1 = (int) Math.pow(data1, 2);
		temp2 = (int) Math.pow(data2, 2);
		temp3 = (int) Math.pow(data3, 2);
		if (temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2) {
			return true;
		} else {
			return false;
		}
	} int temp1 temp1 temp2 temp2 temp3; temp3 temp1 = (int) Math.pow(data1, 2) temp1 (int) Math.pow(data1, 2) Math.pow Math data1 2 temp2 = (int) Math.pow(data2, 2) temp2 (int) Math.pow(data2, 2) Math.pow Math data2 2 temp3 = (int) Math.pow(data3, 2) temp3 (int) Math.pow(data3, 2) Math.pow Math data3 2 if (temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2) {
			return true;
		} else {
			return false;
		} temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2 temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2 temp1 == temp2 + temp3 temp1 temp2 + temp3 temp2 temp3 temp2 == temp1 + temp3 temp2 temp1 + temp3 temp1 temp3 temp3 == temp1 + temp2 temp3 temp1 + temp2 temp1 temp2 {
			return true;
		} return true; true {
			return false;
		} return false; false public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	}
} public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String[] strTemp;
		int numberOfTriangle, data1, data2, data3;
		/*
		 * Count total of Triangles
		 */
		numberOfTriangle = Integer.parseInt(in.readLine());
		Triangle[] triangles = new Triangle[numberOfTriangle];

		/*
		 * Create all of Triangles
		 */
		for (int i = 0; i < numberOfTriangle; i++) {
			strTemp = in.readLine().split(" ");
			data1 = Integer.parseInt(strTemp[0]);
			data2 = Integer.parseInt(strTemp[1]);
			data3 = Integer.parseInt(strTemp[2]);
			triangles[i] = new Triangle(data1, data2, data3);
		}

		for (int j = 0; j < triangles.length; j++) {
			if (triangles[j].check()) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
	}
}

class Triangle {
	private int id, data1, data2, data3, count;
	private Triangle[] triangles;

	/*
	 * instance
	 */
	public Triangle(int data1, int data2, int data3) {
		this.data1 = data1;
		this.data2 = data2;
		this.data3 = data3;
	}

	public boolean check() {
		int temp1, temp2, temp3;
		temp1 = (int) Math.pow(data1, 2);
		temp2 = (int) Math.pow(data2, 2);
		temp3 = (int) Math.pow(data3, 2);
		if (temp1 == temp2 + temp3 || temp2 == temp1 + temp3
				|| temp3 == temp1 + temp2) {
			return true;
		} else {
			return false;
		}
	}
}