Cho dãy số có \(N\) phần tử \((2 \le A_i \le 10^7)\) và \(Q\) truy vấn (mỗi truy vấn gồm ba số nguyên dương \(L\) và \(R\) và \(G\)). \(G\) là ước chung lớn nhất giả định trong đoạn \([L, R]\), hãy xác định xem \(G\) có phải là ước chung lớn nhất của đoạn \([L, R]\) không? Nếu phải thì in \(YES\), ngược lại nếu không phải thì bạn được quyền xóa 1 số bất kỳ trong đoạn \([L, R]\) để \(G\) trở thành ước chung, nếu được thì in \(YES\), không thì in \(NO\).
Ràng buộc:
- \(10 \le N, Q \le 10^5\)
- \(0 \le L \le R \le N\)
Dữ liệu vào:
- Dòng thứ nhất: có 2 số \(N\) và \(Q\)
- Q Dòng tiếp theo: mỗi dòng chứa 3 số \(L\), \(R\) và \(G\)
Dữ liệu ra:
- Q dòng: mỗi dòng là kết quả tương ứng với từng câu truy vấn
Lưu ý:
- vị trí bắt đầu từ \(1\)
Input
3 3
2 6 3
1 2 2
1 3 5
1 3 3
Output
YES
NO
YES
Giải thích
- Truy vấn 1: 2 đúng là ước chung lớn nhất trong đoạn [1, 2].
- Truy vấn 2: Không thể xóa số nào để ra được gcd là 5.
- Truy vấn 3: Xóa số 2 để được gcd là 3 trong 2 phần tử 6,3 còn lại
Nhận xét