#include using namespace std; typedef long double ld; int n; ld R, A, B; const ld EPS = 1e-9; int main(){ ios_base::sync_with_stdio(0);cin.tie(0); cin >> n >> R >> A >> B; ld a = B; ld b = -A; vector > vec; for (int i = 1; i <= n; i++){ ld x, y; cin >> x >> y; ld d1 = fabsl(a*x+b*y)/sqrtl(a*a+b*b); if (d1 > R) continue; ld d2 = sqrtl(x*x+y*y); ld len = sqrtl(d2*d2-d1*d1); ld drad = sqrtl(R*R-d1*d1); if ((x < 0 && b != 0) || (b == 0 && y < 0) ) len *= -1; ld tl = len-drad; ld tr = len+drad; vec.push_back({tl-EPS, -1}); vec.push_back({tr+EPS, 1}); } int sum = 0; int ans = 0; sort(vec.begin(), vec.end()); for (int i = 0; i < vec.size(); i++){ sum -= vec[i].second; ans = max(ans, sum); } cout << ans; }