#include using namespace std; int main(){ int N; long long K; cin >> N >> K; vector H(N); for (int i = 0; i < N; i++){ cin >> H[i]; } vector X(N), Y(N); for (int i = 0; i < N; i++){ cin >> X[i] >> Y[i]; } vector> P(N); for (int i = 0; i < N; i++){ P[i] = make_pair(H[i], i); } sort(P.begin(), P.end()); int ans = N; for (int i = 0; i < N - 1; i++){ bool ok = false; for (int j = i + 1; j < N; j++){ int l = P[i].second, r = P[j].second; if (P[i].first < P[j].first and (X[l] - X[r]) * (X[l] - X[r]) + (Y[l] - Y[r]) * (Y[l] - Y[r]) <= K * K){ ok = true; break; } } if (ok){ ans--; } } cout << ans << endl; }