import java.io.*;

public class Main{
    public static void main(String[]args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    }
} import java.io.*; io.* java public class Main{
    public static void main(String[]args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    }
} Main public static void main(String[]args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    } main {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) int count = Integer.parseInt(br.readLine()); count Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br int[] data = new int[3]; data new int[3] 3 for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        } int i=0; int i=0; i 0 i<count i count i++ i++ i {
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        } {
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        } String[] str = br.readLine().split(" "); str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            } int k=0; int k=0; k 0 k<3 k 3 k++ k++ k {
                data[k] = Integer.parseInt(str[k]);
            } {
                data[k] = Integer.parseInt(str[k]);
            } data[k] = Integer.parseInt(str[k]) data[k] data k Integer.parseInt(str[k]) Integer.parseInt Integer str[k] str k int maxIndex = 0; maxIndex 0 for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            } int k=1; int k=1; k 1 k<3 k 3 k++ k++ k {
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            } {
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            } if(data[k]>data[maxIndex]){
                    maxIndex = k;
                } data[k]>data[maxIndex] data[k] data k data[maxIndex] data maxIndex {
                    maxIndex = k;
                } maxIndex = k maxIndex k int tmp = data[maxIndex]; tmp data[maxIndex] data maxIndex data[maxIndex] = data[0] data[maxIndex] data maxIndex data[0] data 0 data[0] = tmp data[0] data 0 tmp if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            } data[1] * data[1] + data[2] * data[2] == data[0] * data[0] data[1] * data[1] + data[2] * data[2] data[1] * data[1] data[1] data 1 data[1] data 1 data[2] * data[2] data[2] data 2 data[2] data 2 data[0] * data[0] data[0] data 0 data[0] data 0 {
                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)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    }
} public class Main{
    public static void main(String[]args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    }
} Main
import java.io.*;

public class Main{
    public static void main(String[]args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        int[] data = new int[3];

        for(int i=0; i<count; i++){
            String[] str = br.readLine().split(" ");
            for(int k=0; k<3; k++){
                data[k] = Integer.parseInt(str[k]);
            }
            int maxIndex = 0;

            for(int k=1; k<3; k++){
                if(data[k]>data[maxIndex]){
                    maxIndex = k;
                }
            }
            //??\?????????
            int tmp = data[maxIndex];
            data[maxIndex] = data[0];
            data[0] = tmp;

            if(data[1] * data[1] + data[2] * data[2] == data[0] * data[0]){
                System.out.println("YES");
            }else{
                System.out.println("NO");
            }

        }
    }
}