import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "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.ArrayList; ArrayList java.util import java.util.List; List java.util public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO");

	}
} Main public static void main(String[] args) throws NumberFormatException, IOException {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO");

	} main {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO");

	} int 	countMax; countMax int[]		idata = new int[3]; idata new int[3] 3 String[]	data; data List<Boolean> list = new ArrayList<Boolean>(); list new ArrayList<Boolean>() BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader new BufferedReader(new InputStreamReader(System.in)) countMax = Integer.parseInt(reader.readLine()) countMax Integer.parseInt(reader.readLine()) Integer.parseInt Integer reader.readLine() reader.readLine reader for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		} int i = 0; int i = 0; i 0 i < countMax i countMax i++ i++ i {
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		} {
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		} data = reader.readLine().split(" ") data reader.readLine().split(" ") reader.readLine().split reader.readLine() reader.readLine reader " " for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]); int j = 0; int j = 0; j 0 j < 3 j 3 j++ j++ j idata[j] = Integer.parseInt(data[j]); idata[j] = Integer.parseInt(data[j]) idata[j] idata j Integer.parseInt(data[j]) Integer.parseInt Integer data[j] data j for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			} int j = 0; int j = 0; j 0 j < 3 j 3 j++ j++ j {
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			} {
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			} for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				} int k = 0; int k = 0; k 0 k < 3 k 3 k++ k++ k {
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				} {
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				} if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					} idata[j] < idata[k] idata[j] idata j idata[k] idata k {
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					} int tmp = idata[j]; tmp idata[j] idata j idata[j] = idata[k] idata[j] idata j idata[k] idata k idata[k] = tmp idata[k] idata k tmp list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1]))) list.add list ((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])) (idata[2] * idata[2]) idata[2] idata 2 idata[2] idata 2 (idata[0] * idata[0] + idata[1] * idata[1]) idata[0] * idata[0] idata[0] idata 0 idata[0] idata 0 idata[1] * idata[1] idata[1] idata 1 idata[1] idata 1 for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO"); Boolean bool list System.out.println(bool.booleanValue() ? "YES" : "NO"); System.out.println(bool.booleanValue() ? "YES" : "NO") System.out.println System.out System System.out bool.booleanValue() ? "YES" : "NO" bool.booleanValue() bool.booleanValue bool "YES" "NO" String[] args args public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO");

	}
} public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO");

	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


public class Main {
	public static void main(String[] args) throws NumberFormatException, IOException {
		
		int 	countMax;
		int[]		idata = new int[3];
		String[]	data;
		List<Boolean> list = new ArrayList<Boolean>();
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		
		countMax = Integer.parseInt(reader.readLine());
		for(int i = 0; i < countMax; i++){
			data = reader.readLine().split(" ");
			for(int j = 0; j < 3; j++) idata[j] = Integer.parseInt(data[j]);
			
			for(int j = 0; j < 3; j++){
				for(int k = 0; k < 3; k++){
					if(idata[j] < idata[k]){
						int tmp = idata[j];
						idata[j] = idata[k];
						idata[k] = tmp;
					}
				}
			}
			list.add(((idata[2] * idata[2]) == (idata[0] * idata[0] + idata[1] * idata[1])));
		}
		
		for(Boolean bool : list)	System.out.println(bool.booleanValue() ? "YES" : "NO");

	}
}