#include<stdio.h>
#include<iostream>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int N = 10000;
#include<iostream>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int N = 10000;
struct isl
{
double x , y ;
};
{
double x , y ;
};
struct border
{
double left , right ;
} ;
{
double left , right ;
} ;
bool com(border a , border b )
{
return a.left-b.left <= 0 ;
}
int main()
{
int n, d ;
isl num[N] ;
border bor[N] ;
int k = 1 ;
while(~scanf("%d%d",&n,&d)&&n!=0&&d!=0)
{
bool flag = false ;
for(int i = 1 ; i<= n; i++)
{
cin >> num[i].x >> num[i].y ;
if(abs((int)num[i].y)>d)
flag = true ;
{
return a.left-b.left <= 0 ;
}
int main()
{
int n, d ;
isl num[N] ;
border bor[N] ;
int k = 1 ;
while(~scanf("%d%d",&n,&d)&&n!=0&&d!=0)
{
bool flag = false ;
for(int i = 1 ; i<= n; i++)
{
cin >> num[i].x >> num[i].y ;
if(abs((int)num[i].y)>d)
flag = true ;
}
if(flag==false)
{
for(int i = 1 ; i<=n ; i++ )
{
bor[i].left =num[i].x - sqrt(d*d-num[i].y*num[i].y) ;
bor[i].right= num[i].x + sqrt(d*d-num[i].y*num[i].y) ;
}
int ans = 1 ;
sort(bor+1,bor+n+1,com) ;
if(flag==false)
{
for(int i = 1 ; i<=n ; i++ )
{
bor[i].left =num[i].x - sqrt(d*d-num[i].y*num[i].y) ;
bor[i].right= num[i].x + sqrt(d*d-num[i].y*num[i].y) ;
}
int ans = 1 ;
sort(bor+1,bor+n+1,com) ;
// for(int i =1 ; i<= n ; i++ )
// {
// cout << bor[i].left << " "<< bor[i].right <<endl;
// }
// {
// cout << bor[i].left << " "<< bor[i].right <<endl;
// }
border tem ;
tem.left = bor[1].left ;
tem.right = bor[1].right ;
for(int i = 2; i <= n ; i++ )
{
if(tem.right-bor[i].left < 0 )
{
ans++ ;
tem.left = bor[i].left ;
tem.right = bor[i].right ;
}
else if(tem.right>bor[i].right)
{
tem.right = bor[i].right ;
}
}
tem.left = bor[1].left ;
tem.right = bor[1].right ;
for(int i = 2; i <= n ; i++ )
{
if(tem.right-bor[i].left < 0 )
{
ans++ ;
tem.left = bor[i].left ;
tem.right = bor[i].right ;
}
else if(tem.right>bor[i].right)
{
tem.right = bor[i].right ;
}
}
cout << "Case "<< k << ": "<< ans <<endl;
k++ ;
}
else
{
cout << "Case "<< k << ": "<< "-1" <<endl;
k++ ;
}
}
k++ ;
}
else
{
cout << "Case "<< k << ": "<< "-1" <<endl;
k++ ;
}
}
}