#include #include #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(x) (x).begin(), (x).end() typedef long long ll; using namespace std; using namespace boost::multiprecision; int main(void) { int N; cin >> N; cpp_int K; cin >> K; vector H(N); rep(i, N) cin >> H[i]; vector X(N), Y(N); rep(i, N) cin >> X[i] >> Y[i]; vector deleted(N, false); rep(i, N) rep(j, N) { if (deleted[i]) continue; if (pow(X[i] - X[j], 2) + pow(Y[i] - Y[j], 2) <= K * K && H[i] < H[j]) { deleted[i] = true; } } ll ans = 0; rep(i, N) if (!deleted[i]) ans++; cout << ans << endl; return 0; }