using namespace std;
bool dis[200010];
int main(){
long long t,n,m;
int x[700],y[700];
cin>>t;
while(t--){
cin>>n>>m;
long long temp=n*(n-1);
if(temp>4*m){
int a,b;
for(int i=0;i<n;i++)scanf("%d%d",&a,&b);
printf("YES\n");
}
else{
for(int i=0;i<n;i++)scanf("%d%d",&x[i],&y[i]);
memset(dis,0,sizeof(dis));
bool flag=false;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
int d=abs(x[i]-x[j])+abs(y[i]-y[j]);
if(dis[d]){
flag=true;
break;
}
else{
dis[d]=1;
}
}
}
if(flag)printf("YES\n");
else printf("NO\n");
}
}
return 0;
}
/*
int main(){
int dis[200010];
int t;
cin>>t;
long long n,m;
int x[70000],y[70000];
while(t--){
cin>>n>>m;
int a,b;
int temp=n*(n-1);
if(temp>4*m){
for(int i=0;i<n;i++){
scanf("%d%d",&a,&b);
}
printf("YES\n");
}
else {
//m*=4;
// m=sqrt(m)+1;
//if(n>m){
// for(int i=0;i<n;i++){
// scanf("%d%d",&a,&b);
// }
// printf("YES\n");
// }
// else{
memset(dis,0,sizeof(dis));
for(int i=0;i<n;i++){
scanf("%d%d",&x[i],&y[i]);
}
bool flag=false;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
int d=abs(x[i]-x[j])+abs(y[i]-y[j]);
if(dis[d]){
printf("YES\n");
flag=true;
break;
}
else{
dis[d]=1;
}
}
}
if(!flag)printf("NO\n");
// }
}
}
return 0;
}
/*
int main(){
string s;
while(cin>>s){
if(s.length()>10){
cout<<"TAT"<<endl;
}
else{
long long a=0;
for(int i=0;i<s.length();i++){
a=a*10+s[i]-'0';
}
int ans=0;
//
if(a==1)ans=1;
while(a>=2){
a=sqrt(a);
ans++;
if(ans>5)break;
}
if(ans&&ans<=5){
cout<<ans<<endl;
}
else{
cout<<"TAT"<<endl;
}
}
}
return 0;
}
*/