#include long long int h[2003], x[2003], y[2003]; long long int dd(long long int i, long long int j) { return (x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]); } int res[2003]; int main() { long long int n, k; scanf("%lld %lld", &n, &k); long long int i, j; for (i = 0; i < n; i++) scanf("%lld", &h[i]); for (i = 0; i < n; i++) scanf("%lld %lld", &x[i], &y[i]); k = k * k; for (i = 0; i < n; i++) res[i] = 1; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (h[j] < h[i] && dd(i, j) <= k) res[j] = 0; } } long long int ans = 0; for (i = 0; i < n; i++) ans += res[i]; printf("%lld\n", ans); return 0; }