#include using namespace std; using ll =long long; #define all(v) v.begin(),v.end() #define rep(i,a,b) for(int i=a;i=b;i--) ll INF=2e18; struct UnionFind { vector par; vector r; void init(ll n) { par=vector (n); r=vector (n); for(ll i=0;i>N>>Q; vector P(N); for(ll i=0;i>P[i]; if(P[i]>=0) P[i]--; } UnionFind p; p.init(N); for(ll i=0;i>A>>B; A--;B--; if(p.same(A,B)) cout<<"Yes"<