Tim the Busy Beaver đã đăng ký một lớp học bắn súng để hoàn thành yêu cầu môn Thể dục và muốn trở thành một xạ thủ cừ khôi. Trường bắn MIT có $N$ ($1 \le N \le 3 \cdot 10^5$) làn bắn được đánh số từ 1 đến $N$. Làn $i$ hiện có $A_i$ ($0 \le A_i \le 5 \cdot 10^5$) mục tiêu xếp thành một hàng. Đảm bảo rằng có ít nhất một mục tiêu trong toàn bộ trường bắn.
Súng tập của Tim có số lượng đạn vô hạn, và cậu ấy cần bắn hạ mọi mục tiêu. Trước mỗi phát bắn, Tim sẽ chọn một làn và bắn 1 phát vào làn đó. Khi một mục tiêu bị bắn trúng, nó sẽ đổ xuống và không bao giờ dựng lên nữa.
Tuy nhiên, khả năng ngắm bắn của Tim rất tệ, vì vậy mọi phát bắn thứ lẻ sẽ trúng mục tiêu đầu tiên trong làn, trong khi mọi phát bắn thứ chẵn sẽ trượt mục tiêu đầu tiên trong làn và trúng mục tiêu thứ hai (nếu nó tồn tại). Phát bắn đầu tiên là phát bắn số 1.
Tim không được phép bắn một phát mà không trúng mục tiêu nào, vì nó sẽ làm hỏng bức tường phía sau các mục tiêu. Hãy giúp Tim tìm một chuỗi các phát bắn để hạ gục mọi mục tiêu, hoặc cho biết không tồn tại chuỗi như vậy.
Dữ liệu vào
Mỗi bài kiểm tra chứa nhiều trường hợp thử nghiệm. Dòng đầu tiên chứa một số nguyên $t$ ($1 \le t \le 1000$): số lượng trường hợp thử nghiệm. Mô tả các trường hợp thử nghiệm theo sau.
Mỗi trường hợp trong số $t$ trường hợp bao gồm 2 dòng. Dòng đầu tiên chứa $N$, số lượng làn bắn. Dòng thứ hai chứa $N$ số nguyên cách nhau bởi dấu cách $A_1, A_2, \dots, A_n$, biểu thị số lượng mục tiêu trong mỗi làn.
Đảm bảo rằng tổng của $A_i$ trên tất cả các trường hợp thử nghiệm không quá $5 \cdot 10^5$.
Đảm bảo rằng tổng của $N$ trên tất cả các trường hợp thử nghiệm không quá $3 \cdot 10^5$.
Dữ liệu ra
Với mỗi trường hợp thử nghiệm, hãy in ra "YES" nếu tồn tại một chuỗi các phát bắn hạ gục mọi mục tiêu, hoặc "NO" nếu không tồn tại chuỗi như vậy. Bạn có thể in câu trả lời ở bất kỳ định dạng chữ hoa hay chữ thường nào. Ví dụ, các chuỗi "yEs", "yes", "Yes", và "YES" đều được chấp nhận là câu trả lời khẳng định.
Gọi $A$ là tổng của $A_i$ trong trường hợp thử nghiệm (lưu ý rằng $A$ có thể khác nhau giữa các trường hợp thử nghiệm). Nếu tồn tại chuỗi như vậy, hãy in trên một dòng riêng biệt một chuỗi gồm $A$ số nguyên cách nhau bởi dấu cách $l_1, l_2, \dots, l_A$, trong đó $l_i$ là làn mà Wabbit nên bắn phát thứ $i$. Nếu có nhiều lời giải, hãy in ra bất kỳ lời giải nào trong số đó.
Nhiệm vụ con
Bạn sẽ nhận được 50% số điểm cho mỗi nhiệm vụ con nếu các phản hồi YES/NO là chính xác, nhưng các giá trị $l_i$ được cung cấp thì không. Với mỗi trường hợp thử nghiệm, bạn phải xuất ra chính xác $A$ giá trị của $l_i$ để nhận điểm một phần.
- (30 điểm): Tổng của $N$ trên tất cả các trường hợp thử nghiệm không vượt quá 2000, và tổng của $A_i$ trên tất cả các trường hợp thử nghiệm không vượt quá 2000.
- (70 điểm): Không có ràng buộc bổ sung.
Ví dụ
Dữ liệu vào 1
3 1 3 1 2 5 1 1 1 1 1
Dữ liệu ra 1
YES 1 1 1 NO NO
Ghi chú
Trong trường hợp thử nghiệm đầu tiên, chỉ có 1 làn với 3 mục tiêu, và Wabbit có thể hạ gục tất cả các mục tiêu bằng cách bắn 3 phát vào làn 1. Nếu các mục tiêu là $A, B$ và $C$ từ trước ra sau, phát bắn đầu tiên sẽ hạ gục $A$, phát bắn thứ hai sẽ trượt $B$ và hạ gục $C$, và phát bắn cuối cùng sẽ hạ gục $B$.
Trong trường hợp thử nghiệm thứ hai, chỉ có 1 làn với 2 mục tiêu. Phát bắn đầu tiên vào làn 1 sẽ trúng mục tiêu phía trước, nhưng phát bắn thứ hai sẽ không hạ gục được mục tiêu còn lại vì nó sẽ trượt. Do đó, không tồn tại chuỗi phát bắn nào cho trường hợp này.
Trong trường hợp thử nghiệm thứ ba, có 5 làn, mỗi làn có 1 mục tiêu. Phát bắn đầu tiên vào bất kỳ làn nào cũng sẽ trúng mục tiêu ở làn đó, nhưng phát bắn thứ hai sẽ không thể trúng bất kỳ mục tiêu nào khác. Do đó, không tồn tại chuỗi phát bắn nào cho trường hợp này.