#include<bits/stdc++.h>usingnamespace std;#definexfirst#defineysecondconstint N =1010, INF =1e9;constdouble esp =1e-6;typedefdouble db;typedef pair<double,double>PII;
PII seg[N];int n;
db d;bool flag;int ans;intmain(){
cin>>n>>d;for(int i =0; i < n; i ++){
db a, b;
cin>>a>>b;if(b > d){
flag =true;break;}auto len =sqrt(d * d - b * b);
seg[i]={a + len, a - len};}if(flag) cout<<"-1"<<endl;else{sort(seg, seg + n);
db last =-INF;for(int i =0; i < n; i ++){if(seg[i].y > last + esp){
ans ++;
last = seg[i].x;}}
cout<<ans<<endl;}return0;}