Cho danh sách \(K\) cặp đỉnh \(\left(x_1, y_1\right)\), \(\left(x_2, y_2\right)\),..., \(\left(x_K, y_K\right)\), ta định nghĩa một đồ thị vô hướng là xinh xắn nếu nó không chứa một đường đi trực tiếp hoặc gián tiếp nào nối hai đỉnh \(x_i\) và \(y_i\) với mọi \(1\le i \le K\).
Cho đồ thị vô hướng \(G\) gồm \(N\) đỉnh (được đánh số từ \(1\) đến \(N\)) và \(M\) cạnh \(\left(u_1, v_1\right)\), \(\left(u_2, v_2\right)\),..., \(\left(u_M, v_M\right)\). Dữ liệu đảm bảo \(G\) là một đồ thị xinh xắn.
Bạn hãy viết chương trình trả lời \(Q\) câu hỏi độc lập, câu hỏi thứ \(i\) cho biết hai đỉnh \(p_i\), \(q_i\) và yêu cầu bạn trả lời xem \(G^{(i)}\) có phải là một đồ thị xinh xắn hay không, với \(G^{(i)}\) là đồ thị được tạo bằng cách thêm cạnh \(\left(p_i, q_i\right)\) vào đồ thị \(G\).
Input
- Dòng đầu chứa hai số nguyên dương \(N\) và \(M\) \(\left(2\le N\le 2\times 10^5, 0\le M\le 2\times 10^5\right)\).
- Dòng thứ \(i\) trong \(M\) dòng tiếp theo chứa hai số nguyên dương \(u_i\) và \(v_i\) thể hiện một cạnh của đồ thị \(\left(1\le u_i, v_i\le N\right)\).
- Dòng tiếp theo chứa số nguyên dương \(K\) \(\left(1\le K\le 2\times 10^5\right)\).
- Dòng thứ \(i\) trong \(K\) dòng tiếp theo chứa hai số nguyên dương \(x_i\), \(y_i\) \((1\le x_i, y_i\le N)\).
- Dòng tiếp theo chứa số nguyên dương \(Q\) \(\left(1\le Q\le 2\times 10^5\right)\).
- Dòng thứ \(i\) trong \(Q\) dòng tiếp theo chứa hai số nguyên dương \(p_i\), \(q_i\) \((1\le p_i, q_i\le N)\).
Output
- Gồm \(Q\) dòng, dòng thứ \(i\) in ra
Yes
nếu \(G^{(i)}\) là một đồ thị xinh xắn, ngược lại in raNo
.
Ví dụ
Sample input 01
6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4
Sample output 01
No
No
Yes
Yes