C11PIPI - JOO PIPI

Giới hạn
  • Thời gian: 2.0s
  • Bộ nhớ: 1536MB
  • Mã nguồn: 50000 bytes

Ghi chú: Các bài VNOI đã được chuyển qua VNOJ (Thông báo). Đề bài trên VNOI và vn.spoj.com sẽ không được cập nhật nữa. Một số đề bài không chính xác sẽ chỉ được cập nhật trên VNOJ. Bạn vẫn có thể tìm kiếm đề bài trên VNOI.

Link đọc đề trên VNOJ

Bao quanh thủ đô  là n hồ lớn, đánh số từ 1 đến n . Ban đầu các hồ đều đầy nước. Theo dự báo thời tiết những ngày tới sẽ có các trận mưa lớn, mỗi trận mưa diễn ra trên vùng của một hồ. Nếu hồ cạn, mưa sẽ làm hồ đầy nước, nếu hồ đang đầy nước, mưa sẽ làm nước tràn bờ gây ngập lụt ở thủ đô. May mắn là có một con rồng biệt danh Joo PiPi. Vào ngày không mưa katejordan_ts có thể dắt Joo PiPi ra một hồ nào đó và trong ngày rồng có thể uống cạn hồ nước này. Cơ quan dự báo thời tiết đưa ra dự báo cho m ngày dưới dạng các số t 1 , t 2 , . . ., t m , trong đó t i thuộc đoạn [0, n ]. Nếu t i thuộc đoạn [1, n ] có nghĩa là sẽ có mưa trên hồ t i vào ngày i , nếu t i = 0 là ngày i không có mưa.

Yêu cầu : Cho n , m và các t i (1 ≤ n , m ≤ 10 6 , i = 1 ÷ m ). Hãy xác định xem có tồn tại lịch cho Joo PiPi hút nước tránh lụt được hay không và đưa ra câu trả lời “ YES ” hoặc “ NO ”.  Nếu có lịch hút nước thì đưa ra ở dòng tiếp theo các số nguyên l 1 , l 2 , . . ., l p , trong đó p là số ngày không mưa, l j thuộc đoạn [0, n ]. Nếu l j ≠ 0 có nghĩa là cần hút nước ở hồ l j trong ngày không mưa thứ j.

Input

  • Dòng đầu tiên chứa số nguyên q – số lượng tests (1 ≤ q ≤ 40)

  • Mỗi test cho trên 2 dòng:
    1. Dòng thứ nhất chứa các số nguyên n m ,
    2. Dòng thứ 2 chứa m số nguyên t 1 , t 2 , . . ., t m .

Output

Với mỗi test bao gồm:

  • Dòng thứ nhất chứa thông báo “ YES ” hoặc “ NO ”,
  • Nếu kết quả là “ YES ” thì ở dòng thứ 2 đưa ra các số nguyên l 1 , l 2 , . . ., l p .

Test đảm bảo chỉ có 1 đáp án

Example

Input:
1
2 4
0 1 0 2
Output:
YES
1 2



  • Người up: yenthanh132
  • Nguồn bài: CERC 2010; Người dịch: Trần Quốc Ðạt