Orange được cô giáo D giao ~T~ bài tập, mỗi bài tập cho dữ kiện là ~n~ số nguyên không âm ~a_1,a_2,...,a_n~ và một số nguyên dương ~m~, mỗi bài tập yêu cầu kiểm tra có tồn tại cách chọn ít nhất một số trong đó để tổng của chúng chia hết cho ~m~ hay không.
Nếu bạn cũng được giao bài như Orange thì bạn sẽ làm được chứ? :D
Input
Dòng đầu tiên chứa số nguyên dương ~T~.
Tiếp theo là ~T~ nhóm, có dạng như sau:
- Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~ ~(1 \le n \le 10^6, 2 \le m \le 10^3)~.
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, ..., a_n~ ~(0 \le a_i \le 10^9)~.
Dữ liệu đảm bảo tổng của các giá trị ~n~ qua ~T~ nhóm không vượt quá ~10^6~, tổng của các giá trị ~min(n,m) \times m~ qua ~T~ nhóm không vượt quá ~5 \times 10^6~.
Output
Tại dòng thứ ~i~ trong ~T~ dòng, đưa ra ~\texttt{YES}~ nếu ở bài tập thứ ~i~, tồn tại cách chọn ít nhất một số trong đó để tổng của chúng chia hết cho ~m~, hoặc đưa ra ~\texttt{NO}~ nếu ngược lại.
Scoring
Subtask | Score | Constraints |
---|---|---|
1 | ~15\%~ | Tổng của các giá trị ~2^n~ qua ~T~ nhóm không vượt quá ~5 \times 10^6~ |
2 | ~50\%~ | Tổng của các giá trị ~n \times m~ qua ~T~ nhóm không vượt quá ~5 \times 10^6~ |
3 | ~35\%~ | Không có ràng buộc gì thêm |
Sample Input
2
3 7
2 4 8
3 7
1 4 5
Sample Output
YES
NO
Bình luận