#include using namespace std; int main() { int N, Q; cin >> N >> Q; atcoder::dsu uf(N); for(int i = 0; i < N; i++) { int u; cin >> u; if(u == -1) continue; else { uf.merge(i, u-1); } } while(Q--) { int u, v; cin >> u >> v; u--; v--; cout << (uf.same(u, v) ? "Yes" : "No") << endl; } }