import java.io.*;


public class Main {
	public static void main(String[] args)  throws IOException
	{
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	}
	
	public static String Check(int a,int b,int c){
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	}
		
} import java.io.*; io.* java public class Main {
	public static void main(String[] args)  throws IOException
	{
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	}
	
	public static String Check(int a,int b,int c){
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	}
		
} Main public static void main(String[] args)  throws IOException
	{
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	} main {
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	} BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); buf new BufferedReader(new InputStreamReader(System.in)) int N = Integer.parseInt(buf.readLine()); N Integer.parseInt(buf.readLine()) Integer.parseInt Integer buf.readLine() buf.readLine buf String[] list; list String[] check = new String[N]; check new String[N] N int i i j j l; l for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    } int k=0; int k=0; k 0 k<N k N k++ k++ k {
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    } {
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    } list = buf.readLine().split(" ") list buf.readLine().split(" ") buf.readLine().split buf.readLine() buf.readLine buf " " i = Integer.parseInt(list[0]) i Integer.parseInt(list[0]) Integer.parseInt Integer list[0] list 0 j = Integer.parseInt(list[1]) j Integer.parseInt(list[1]) Integer.parseInt Integer list[1] list 1 l = Integer.parseInt(list[2]) l Integer.parseInt(list[2]) Integer.parseInt Integer list[2] list 2 check[k] = Check(i,j,l) check[k] check k Check(i,j,l) Check i j l for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    } int k = 0; int k = 0; k 0 k<N k N k++ k++ k {
	    	System.out.println(check[k]);
	    } {
	    	System.out.println(check[k]);
	    } System.out.println(check[k]) System.out.println System.out System System.out check[k] check k String[] args args public static String Check(int a,int b,int c){
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	} Check {
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	} if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		} a-b >0 && a-c>0 a-b >0 a-b a b 0 a-c>0 a-c a c 0 {
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		} if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			} a*a == b*b + c*c a*a a a b*b + c*c b*b b b c*c c c {
				return"YES";
			} return"YES"; "YES" {
				return "NO";
			} return "NO"; "NO" if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		} b-a >0 && b-c>0 b-a >0 b-a b a 0 b-c>0 b-c b c 0 {
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		} if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			} b*b == a*a + c*c b*b b b a*a + c*c a*a a a c*c c c {
				return "YES";
			} return "YES"; "YES" {
				return "NO";
			} return "NO"; "NO" {
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		} if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			} c*c == b*b + a*a c*c c c b*b + a*a b*b b b a*a a a {
				return "YES";
			} return "YES"; "YES" {
				return "NO";
			} return "NO"; "NO" int a a int b b int c c public class Main {
	public static void main(String[] args)  throws IOException
	{
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	}
	
	public static String Check(int a,int b,int c){
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	}
		
} public class Main {
	public static void main(String[] args)  throws IOException
	{
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	}
	
	public static String Check(int a,int b,int c){
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	}
		
} Main
import java.io.*;


public class Main {
	public static void main(String[] args)  throws IOException
	{
	    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
	    int N = Integer.parseInt(buf.readLine());
	    String[] list;
	    String[] check = new String[N];
	    int i,j,l;
	    for(int k=0; k<N; k++){
	        list = buf.readLine().split(" ");
	        i = Integer.parseInt(list[0]);
	        j = Integer.parseInt(list[1]);
	        l = Integer.parseInt(list[2]);
	        check[k] = Check(i,j,l);
	    }
	    for(int k = 0; k<N; k++){
	    	System.out.println(check[k]);
	    }
	    
	}
	
	public static String Check(int a,int b,int c){
		if(a-b >0 && a-c>0){
			if(a*a == b*b + c*c){
				return"YES";
			}else{
				return "NO";
			}
		}else if(b-a >0 && b-c>0){
			if(b*b == a*a + c*c){
				return "YES";
			}else{
				return "NO";
			}
		}else{
			if(c*c == b*b + a*a){
				return "YES";
			}else{
				return "NO";
			}
		}
	}
		
}