#include using namespace std; typedef long long ll; #define REP(i, x, y) for (auto i = (x); i < (y); i++) #define RREP(i, x, y) for (auto i = (y) - 1; (x) <= i; i--) #define ALL(x) (x).begin(), (x).end() #pragma GCC optimize("O3") int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ll N, K; cin >> N >> K; vector H(N); REP(i, 0, N){ cin >> H[i]; } vector X(N), Y(N); REP(i, 0, N){ cin >> X[i] >> Y[i]; } vector ans(N, 1); REP(i, 0, N){ REP(j, 0, N){ if(H[i] < H[j]){ if((X[i] - X[j])*(X[i] - X[j]) + (Y[i] - Y[j])*(Y[i] - Y[j]) <= K*K){ ans[i] = 0; } } } } cout << accumulate(ALL(ans), 0) << "\n"; return 0; } /* File : ~/yukicoder/midoriika_3rd/E.cpp Date : 2024/10/12 Time : 14:41:33 */