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

public class Main {
	public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.StringTokenizer; StringTokenizer java.util public class Main {
	public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
} Main public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1); br new BufferedReader(new InputStreamReader(System.in), 1) String str = ""; str "" StringTokenizer st; st int num[] = new int[3]; num new int[3] 3 int index[] = new int[2]; index new int[2] 2 int max = 0 max 0 i i j j k; k str = br.readLine() str br.readLine() br.readLine br int datasets =  Integer.parseInt(str); datasets Integer.parseInt(str) Integer.parseInt Integer str for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		} i = 0; i = 0 i 0 i < datasets i datasets i++ i++ i {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		} {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		} str = br.readLine() str br.readLine() br.readLine br st = new StringTokenizer(str, " ") st new StringTokenizer(str, " ") num[0] = Integer.parseInt(st.nextToken()) num[0] num 0 Integer.parseInt(st.nextToken()) Integer.parseInt Integer st.nextToken() st.nextToken st num[1] = Integer.parseInt(st.nextToken()) num[1] num 1 Integer.parseInt(st.nextToken()) Integer.parseInt Integer st.nextToken() st.nextToken st num[2] = Integer.parseInt(st.nextToken()) num[2] num 2 Integer.parseInt(st.nextToken()) Integer.parseInt Integer st.nextToken() st.nextToken st for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j; j =0; j =0 j 0 j < 3 j 3 j++ j++ j if(num[max] < num[j]) max = j; if(num[max] < num[j]) max = j; num[max] < num[j] num[max] num max num[j] num j max = j max j k = 0 k 0 for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j; j = 0; j = 0 j 0 j < 3 j 3 j++ j++ j if(num[j] != num[max]) index[k++] = j; if(num[j] != num[max]) index[k++] = j; num[j] != num[max] num[j] num j num[max] num max index[k++] = j index[k++] index k++ k j if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO"); (num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]) (num[max] * num[max]) num[max] num max num[max] num max (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]) num[index[0]] * num[index[0]] num[index[0]] num index[0] index 0 num[index[0]] num index[0] index 0 num[index[1]] * num[index[1]] num[index[1]] num index[1] index 1 num[index[1]] num index[1] index 1 System.out.println("YES") System.out.println System.out System System.out "YES" System.out.println("NO") System.out.println System.out System System.out "NO" String[] a a public class Main {
	public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
} public class Main {
	public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
		String str = "";
		StringTokenizer st;
		int num[] = new int[3];
		int index[] = new int[2];
		int max = 0, i, j, k;
		
		str = br.readLine();
		int datasets =  Integer.parseInt(str);
		
		for (i = 0; i < datasets; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, " ");
			num[0] = Integer.parseInt(st.nextToken());
			num[1] = Integer.parseInt(st.nextToken());
			num[2] = Integer.parseInt(st.nextToken());
			for (j =0; j < 3; j++) 
	            if(num[max] < num[j]) max = j;
			k = 0;
			for (j = 0; j < 3; j++) 
	            if(num[j] != num[max]) index[k++] = j;
			if ((num[max] * num[max]) == (num[index[0]] * num[index[0]] + num[index[1]] * num[index[1]]))
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
}