#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#define N 10005
using namespace std;
int flag;
int build()
{
int wl,wr,dl,dr;
scanf("%d%d%d%d",&wl,&dl,&wr,&dr);
if(wl==0)
wl=build();
if(wr==0)
wr=build();
if(wl*dl!=wr*dr)
flag=0;
return wr+wl;
}
int main()
{
// freopen("ex.in","r",stdin);
int n;
scanf("%d",&n);
while(n--)
{
flag=1;
build();
printf("%s\n",flag?"YES":"NO");
if(n)
printf("\n");
// puts("\n");//其实输出两行!!!!!!!!111
}
return 0;
}
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#define N 10005
using namespace std;
int flag;
int build()
{
int wl,wr,dl,dr;
scanf("%d%d%d%d",&wl,&dl,&wr,&dr);
if(wl==0)
wl=build();
if(wr==0)
wr=build();
if(wl*dl!=wr*dr)
flag=0;
return wr+wl;
}
int main()
{
// freopen("ex.in","r",stdin);
int n;
scanf("%d",&n);
while(n--)
{
flag=1;
build();
printf("%s\n",flag?"YES":"NO");
if(n)
printf("\n");
// puts("\n");//其实输出两行!!!!!!!!111
}
return 0;
}