from sys import stdin def main(): n, k = map(int, stdin.readline().split()) h = list(map(int, stdin.readline().split())) x = [0] * n y = [0] * n for i in range(n): x[i], y[i] = map(int, stdin.readline().split()) data = [(h[i], x[i], y[i]) for i in range(n)] def dist2(i, j): ix = data[i][1] iy = data[i][2] jx = data[j][1] jy = data[j][2] return (ix-jx) ** 2 + (iy-jy) ** 2 data.sort(key=lambda x: x[0], reverse=True) shrines = [True] * n for i in reversed(range(n-1)): for j in range(i+1, n): if not (shrines[j]): continue if dist2(i, j) <= k * k: if data[i][0] == data[j][0]: continue shrines[j] = False ans = 0 for i in range(n): if shrines[i]: ans += 1 print(ans) return if __name__ == "__main__": main()