#include #include #include #include std::vector > v; int x,y; int r; void insert(int px, int py) { long long a = x*x+y*y; long long b = -2*x*px-2*y*py; long long c = px*px+py*py-r*r; long long dis = b*b-4*a*c; if(dis < 0) return; double a1 = (double(-b)+std::sqrt(double(dis)))/double(2*a); double a2 = (double(-b)-std::sqrt(double(dis)))/double(2*a); //std::cout << "for " << px << " " << py << " inserting:" << a1 << " " << a2 << std::endl; v.push_back({a1+0.0000001,1}); v.push_back({a2-0.0000001,-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; }