#include using namespace std; typedef long long ll; typedef pair pll; typedef long double ld; typedef complex point; ld dot(point a, point b) { return a.real() * b.real() + a.imag() * b.imag(); } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll N, R; ld A, B; cin >> N >> R >> A >> B; point L={A, B}; L /= abs(L); point pL = {-L.imag(), L.real()}; vector> E; for(ll i=0; i> x >> y; point v={x, y}; ld dist = abs(dot(pL, v)); if(dist > R) continue; ld reach = sqrt(R * R - dist * dist); ld middle = dot(L, v); //cout << dist << " " << reach << " " << middle << endl; E.push_back({middle-reach, 0}); E.push_back({middle+reach, 1}); } sort(E.begin(), E.end()); ll res=0; ll r=0; for(auto x: E) { if(x.second) r--; else r++; res = max(res, r); } cout << res << endl; return 0; }