#include #include #include #include std::vector > v; int x,y; int r; void insert(int px, int py) { int a = x*x+y*y; int b = -2*x*px-2*y*py; int c = px*px+py*py-r*r; int dis = b*b-4*a*c; if(dis < 0) return; double a1 = (double(-b)+std::sqrt(double(dis)))/(2*a); double a2 = (double(-b)-std::sqrt(double(dis)))/(2*a); //std::cout << "for " << px << " " << py << " inserting:" << a1 << " " << a2 << std::endl; v.push_back({a1,1}); v.push_back({a2,-1}); } int main() { int n; std::cin >> n >> r >> x >> y; while(n--) { int tmpa,tmpb; std::cin >> tmpa >> tmpb; insert(tmpa,tmpb); } std::sort(v.begin(),v.end()); int max = 0; int sum = 0; for(int i=0;i max) max = sum; } std::cout << max << std::endl; }