Gửi bài giải


Điểm: 0,66 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Dựa theo BOI 2001
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Một công ty du lịch tổ chức cho 1 đoàn du khách nước ngoài đi du lịch M thành phố ở Việt Nam . Tuy nhiên mỗi du khách lại có 2 yêu cầu . Mỗi yêu cầu có dạng "Không muốn đi thành phố A" hoặc "Muốn đi thành phố A" (A là chỉ số thành phố mà người đó yêu cầu). Có thể có trường hợp 2 yêu cầu của khách là "Muốn đi thành phố A" và "Không muốn đi thành phố A". Vì các du khách này là người nước ngoài nên rất khó tính, họ muốn ít nhất 1 trong 2 yêu cầu của họ phải được đáp ứng. Bên công ty du lịch đã đau đầu tìm cách chọn ra các thành phố để đưa đoàn du khách đi mà vẫn chưa tìm được cách nào cả. Bạn được yêu cầu giúp công ty du lịch này chọn ra 1 số thành phố để đưa đoàn du khách này đi mà lại vừa thoả mãn được các du khách này .

Input

Dòng đầu tiên gồm ~2~ số nguyên ~N~ và ~M~ ~(1 \le N \le 20000, 1 \le M \le 8000)~ tương ứng là số khách du lịch và số thành phố.

~N~ dòng tiếp theo gồm ~2~ số nguyên ~u, v~, ~-M \le u, v \le M~ ~(u \ne 0, v \ne 0)~ mô tả yêu cầu của khách thứ ~i~ (số dương nếu yêu cầu du khách ~i~ muốn đi thành phố đó và số âm nếu không muốn đi thành phố đó).

Output

Dòng 1: Ghi YES nếu có phương án thoả mãn yêu cầu các du khách và ghi NO trong trường hợp ngược lại.

Nếu YES thì ghi tiếp theo như sau:

Dòng 2 : số nguyên ~K~ là số thành phố được chọn.

Dòng 3 : Gồm ~K~ số nguyên là chỉ số của các thành phố được chọn.

Sample Input

2 3
-1 -2
1 2

Sample Output

YES
2
1 3

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.