import java.util.Arrays;
import java.util.Scanner;
public class Main
{
	private static boolean isTriangle(int a,int b,int c)
	{
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	}
	public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	}
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main
{
	private static boolean isTriangle(int a,int b,int c)
	{
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	}
	public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	}
} Main private static boolean isTriangle(int a,int b,int c)
	{
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	} isTriangle {
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	} int[] edge={a,b,c}; edge {a,b,c} a b c Arrays.sort(edge) Arrays.sort Arrays edge return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2]; edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2] edge[0]*edge[0]+edge[1]*edge[1] edge[0]*edge[0] edge[0] edge 0 edge[0] edge 0 edge[1]*edge[1] edge[1] edge 1 edge[1] edge 1 edge[2]*edge[2] edge[2] edge 2 edge[2] edge 2 int a a int b b int c c public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	} main {
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	} Scanner scan=new Scanner(System.in); scan new Scanner(System.in) int N=scan.nextInt(); N scan.nextInt() scan.nextInt scan int a a b b c; c for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		} {
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		} a=scan.nextInt() a scan.nextInt() scan.nextInt scan b=scan.nextInt() b scan.nextInt() scan.nextInt scan c=scan.nextInt() c scan.nextInt() scan.nextInt scan if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			} isTriangle(a,b,c) isTriangle a b c {
				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" scan.close() scan.close scan String[] args args public class Main
{
	private static boolean isTriangle(int a,int b,int c)
	{
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	}
	public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	}
} public class Main
{
	private static boolean isTriangle(int a,int b,int c)
	{
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	}
	public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	}
} Main
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
	private static boolean isTriangle(int a,int b,int c)
	{
		int[] edge={a,b,c};
		Arrays.sort(edge);
		return edge[0]*edge[0]+edge[1]*edge[1]==edge[2]*edge[2];
	}
	public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int a,b,c;
		for(int i=0;i<N;i++){
			a=scan.nextInt();
			b=scan.nextInt();
			c=scan.nextInt();
			if(isTriangle(a,b,c)){
				System.out.println("YES");
			}else{
				System.out.println("NO");				
			}
		}
		scan.close();
	}
}