#include<bits/stdc++.h>
using namespace std;
const int MAXN = 110;
struct node{
    int x,y;
}e[MAXN];
bool cmp(node a,node b){
    return a.x<b.x;
}
int l[MAXN],r[MAXN];
int main(){
    int t;
    scanf("%d",&t);
    while(t--){
        int n,k;
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;i++){
            scanf("%d%d",&e[i].x,&e[i].y);
        }
        sort(e+1,e+n+1,cmp);
        bool flag=false;
        for(int i=2;i<=n;i++){
            if(!(e[i].x==e[1].x&&e[i].y==e[1].y)) flag=true;
        }
        if(!flag){
            printf("0\n");continue;
        }
        for(int i=1;i<=n;i++){
            int pos=n;
            for(int j=i+1;j<=n;j++){
                if(abs(e[j].x-e[i].x)+abs(e[j].y-e[i].y)>k){
                    pos=j-1;break;
                }
            }
            r[i]=pos;
            pos=1;
            for(int j=i-1;j>=1;j--){
                if(abs(e[j].x-e[i].x)+abs(e[j].y-e[i].y)>k){
                    pos=j+1;break;
                }
            }
            l[i]=pos;
        }
        flag=false;
        for(int i=1;i<=n;i++){
            if(l[i]==1&&r[i]==n) flag=true;
        }
        if(flag){
            printf("1\n");
        }
        else printf("-1\n");
       // printf("%d\n",dp[1][n]==1000?-1:dp[1][n]);
    }
}