#include int dis(int x1, int x2, int y1, int y2) { return (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1); } int main() { int N, K; scanf("%d %d", &N, &K); int H[N], X[N], Y[N]; for (int i = 0; i < N; i++) { scanf("%d", &H[i]); } for (int i = 0; i < N; i++) { scanf("%d %d", &X[i], &Y[i]); } int n = N; for (int i = 0; i < N; i++) { for (int j = i + 1; j < N; j++) { if (H[i] < H[j] && dis(X[i], X[j], Y[i], Y[j]) <= K * K) { n--; break; } } } printf("%d\n", n); return 0; }