#include #include #include #include #include using namespace std; int N,M,K; int A[1<<17]; vectorG[1<<17]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>N>>M>>K; for(int i=0;i>A[i]; for(int i=0;i>u>>v;u--,v--; G[u].push_back(v); G[v].push_back(u); } vector >Ai(N); for(int i=0;iM(A,A+N); for(auto[_,u]:Ai) { for(int v:G[u])if(A[v]<=A[u]) { if(M[uf.leader(v)]+K>=A[u]) { int w=uf.merge(u,v); M[w]=A[u]; } } } cout<<(uf.groups().size()==1?"Yes":"No")<