#include <iostream>
#include <vector>
#include <map>
using namespace std ;
const int MAX=100000000 ;
//用一个vector到int的字典来存储所有的点,y值作为Key,相同y值的点被存入同一个vector里。
//判断时,先计算第一个key值下的所有数的平均值,然后将之后的Key值下的平均值与它比较,只要有一个不相同则输出NO。
//全相同则输出YES
int main()
{
int N;
cin>>N;
while (N--)
{
map <int ,vector <int >> points;
int M;
cin>>M;
while (M--)
{
int x;
cin>>x;
int y;
cin>>y;
points[y].push_back(x);
}
bool istrue=1 ;
bool first=1 ;
double sum=0 ;
double avr=0 ;
for (map <int ,vector <int >>::iterator it=points.begin();it!=points.end();it++)
{
if (first)
{
for (int i=0 ;i!=(*it).second.size();i++)
{
sum+=(*it).second[i];
}
first=0 ;
avr=sum/((*it).second.size());
}
else
{
double tempsum=0 ;
double tempavr=0 ;
for (int i=0 ;i!=(*it).second.size();i++)
{
tempsum+=(*it).second[i];
}
tempavr=tempsum/((*it).second.size());
if (tempavr!=avr)
{
istrue=0 ;
break ;
}
}
}
if (istrue==1 )
cout<<"YES" <<endl;
else
cout<<"NO" <<endl;
}
}