#include<bits/stdc++.h>
using namespace std;
struct qwq{
double l,r;
}qs[15005];
bool pd(double a,double b){
return a<b||fabs(a-b)<0.0001;
}
int main(){
int t;
int n;
double l,w;
cin>>t;
while(t--){
cin>>n>>l>>w;
int k=1;
for(int i=0;i<n;i++){
double a,r;
cin>>a>>r;
if(r*2>w){
int tr=sqrt(r*r-w*w/4);
qs[k++]={a-tr,a+tr};
}
}
int ans=0;
bool f=1;
double x=0,cur=0;
for(int i=1;i<=k;i++){
if(qs[i].l<=cur){
x=(pd(x,qs[i].r)?qs[i].r:x);
}else{
if(pd(qs[i].l,x)){
ans++;
cur=x;
x=(pd(x,qs[i].r)?qs[i].r:x);
}else{
f=0;
}
}
}
if(!f){
cout<<-1<<endl;
}else{
cout<<ans<<endl;
}
}
return 0;
}
样例过不去