#include <iostream>
using namespace std;
int p[150][2];
int main()
{
int x,y,n,ans,i,j,k,a,b,dstn;
double r;
while(cin>>x>>y>>r && r>0){
cin>>n;
k=ans=0;
for(i=0;i<n;i++){
cin>>a>>b;
if ((x-a)*(x-a)+(y-b)*(y-b)<=int(r*r)){
p[k][0]=a;
p[k][1]=b;
k++;
}
}
for(i=0;i<k;i++){
a=b=0;
for(j=0;j<k;j++){
dstn=(p[i][0]-x)*(p[j][1]-y)-(p[j][0]-x)*(p[i][1]-y);
if(dstn>0) ++a;
else if(dstn<0) ++b;
else {++a;++b;}
}
if(a>ans) ans=a;
if(b>ans) ans=b;
}
cout<<ans<<endl;
}
return 0;
}
using namespace std;
int p[150][2];
int main()
{
int x,y,n,ans,i,j,k,a,b,dstn;
double r;
while(cin>>x>>y>>r && r>0){
cin>>n;
k=ans=0;
for(i=0;i<n;i++){
cin>>a>>b;
if ((x-a)*(x-a)+(y-b)*(y-b)<=int(r*r)){
p[k][0]=a;
p[k][1]=b;
k++;
}
}
for(i=0;i<k;i++){
a=b=0;
for(j=0;j<k;j++){
dstn=(p[i][0]-x)*(p[j][1]-y)-(p[j][0]-x)*(p[i][1]-y);
if(dstn>0) ++a;
else if(dstn<0) ++b;
else {++a;++b;}
}
if(a>ans) ans=a;
if(b>ans) ans=b;
}
cout<<ans<<endl;
}
return 0;
}