Có \(n\) thành phố và \(m\) con đường giữa chúng. Kaaleppi hiện đang ở thành phố \(a\) và muốn đi du lịch đến thành phố \(b\). Tuy nhiên, có một vấn đề: Kaaleppi gần đây đã cướp một ngân hàng ở thành phố \(c\) và không thể vào thành phố, bởi vì cảnh sát địa phương sẽ bắt được anh ta. Nhiệm vụ của bạn là kiểm tra xem có tuyến đường nào từ thành phố \(a\) đến thành phố \(b\) mà không đến thành phố \(c\) hay không.
Để bổ sung độ thách thức cho bài toán này, bạn phải xử lý \(q\) truy vấn trong đó \(a\), \(b\) và \(c\) khác nhau.
Input
Dòng đầu vào đầu tiên chứa ba số nguyên \(n\), \(m\) và \(q\): số thành phố, đường và truy vấn. Các thành phố được đánh số \(1, 2, \ldots, n\).
Sau đó, có \(m\) dòng mô tả các con đường. Mỗi dòng chứa hai số nguyên \(a\) và \(b\): có một đường giữa thành phố \(a\) và \(b\). Mỗi con đường là hai chiều.
Cuối cùng, có \(q\) dòng mô tả các truy vấn. Mỗi dòng chứa ba số nguyên \(a\), \(b\) và \(c\): có tuyến đường nào từ thành phố \(a\) đến thành phố \(b\) mà không đến thành phố \(c\) không?
Bạn có thể giả định rằng có một tuyến đường giữa hai thành phố bất kì.
Output
Đối với mỗi truy vấn, in YES
nếu có một tuyến đường như vậy và NO
nếu ngược lại.
Constraints
- \(1 \leq n \leq 10 ^ 5\)
- \(1 \leq m \leq 2 \cdot 10 ^ 5\)
- \(1 \leq q \leq 10 ^ 5\)
- \(1 \leq a, b, c \leq n\)
Example
Input:
5 6 3
1 2
1 3
2 3
2 4
3 4
4 5
1 4 2
3 5 4
3 5 2
Output:
YES
NO
YES
Bình luận
sao co 600 diem vay 🥲
1 bình luận nữa