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

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	}

} 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) {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	}

} Main public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	} main {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	} try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		} catch (IOException e) {

		} IOException e {

		} {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} int a; a int b; b int c; c BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader new BufferedReader(new InputStreamReader(System.in)) String s = new String(reader.readLine()); s new String(reader.readLine()) int setsu = Integer.parseInt(s); setsu Integer.parseInt(s) Integer.parseInt Integer s for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			} int i=1; int i=1; i 1 i<=setsu i setsu i++ i++ i {
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			} {
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			} String Tri = new String(reader.readLine()); Tri new String(reader.readLine()) String[] result1 = Tri.split(" "); result1 Tri.split(" ") Tri.split Tri " " a = Integer.parseInt(result1[0]) a Integer.parseInt(result1[0]) Integer.parseInt Integer result1[0] result1 0 b = Integer.parseInt(result1[1]) b Integer.parseInt(result1[1]) Integer.parseInt Integer result1[1] result1 1 c = Integer.parseInt(result1[2]) c Integer.parseInt(result1[2]) Integer.parseInt Integer result1[2] result1 2 if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				} ((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)) ((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)) ((a*a)+(b*b)==(c*c)) (a*a)+(b*b) (a*a) a a (b*b) b b (c*c) c c ((c*c)+(b*b)==(a*a)) (c*c)+(b*b) (c*c) c c (b*b) b b (a*a) a a ((a*a)+(c*c)==(b*b)) (a*a)+(c*c) (a*a) a a (c*c) c c (b*b) b b {
					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 public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	}

} public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	}

} Main

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

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		try {
			int a;
			int b;
			int c;
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String s = new String(reader.readLine());
			int setsu = Integer.parseInt(s);
			for(int i=1;i<=setsu;i++){
				String Tri = new String(reader.readLine());
				String[] result1 = Tri.split(" ");
				a = Integer.parseInt(result1[0]);
				b = Integer.parseInt(result1[1]);
				c = Integer.parseInt(result1[2]);
				if(((a*a)+(b*b)==(c*c))||((c*c)+(b*b)==(a*a))||((a*a)+(c*c)==(b*b)))
				{
					System.out.println("YES");
				}else
				{
					System.out.println("NO");
				}

			}

		} catch (IOException e) {

		}
	}

}