#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include using namespace std; using namespace atcoder; using ll=long long; void IO(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); } int main(){ IO(); ll n,q; cin>>n>>q; dsu uf(n); for(ll i=0;i>p; if(p==-1){ continue; } p--; uf.merge(i,p); } while(q--){ ll a,b; cin>>a>>b; a--; b--; if(uf.same(a,b)){ cout<<"Yes"<