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