#792. Ủy ban hòa bình (SPO)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Theo hiến pháp, Ủy ban hòa bình công chúng của Cộng hòa Dân chủ Byteland cần được thành lập thông qua quy trình lập pháp tại quốc hội. Thật không may, do sự bất hòa giữa đại diện các đảng phái nên việc này gặp trở ngại.

Ủy ban này phải thỏa mãn các điều kiện sau:

  • Mỗi đảng phái có đúng 1 đại diện trong ủy ban.
  • Nếu 2 đại diện ghét nhau, họ không thể cùng thuộc ủy ban.

Mỗi đảng trong quốc hội có 2 đại diện. Các đại diện được đánh số từ 1 đến 2n . Đại diện số 2i-1 2i thuộc đảng thứ i .

Nhiệm vụ: Viết chương trình đọc vào số lượng đảng phái và các cặp đại diện không thân thiện, tính toán xem việc thành lập ủy ban hòa bình có khả thi hay không. Nếu có, hãy liệt kê danh sách thành viên ủy ban.

Dữ liệu:

  • Dòng đầu tiên có hai số nguyên không âm n m . n là số lượng đảng phái, m là số cặp đại diện không thân thiện.
  • m dòng tiếp theo, mỗi dòng là một cặp số nguyên a, b , biểu thị đại diện a b ghét nhau.

Kết quả:

  • Nếu không thể thành lập ủy ban, xuất thông báo NIE.
  • Nếu có thể thành lập, xuất n số nguyên được chọn từ khoảng 1 đến 2n , viết theo thứ tự tăng dần, mỗi dòng một số. Đây là mã số của các đại diện trong ủy ban.
  • Nếu có nhiều cách thành lập, chương trình chỉ cần xuất một trong số đó.

Ví dụ:

Dữ liệu:

3 2
1 3
2 4

Kết quả:

1
4
5

Giới hạn: 1 \le n \le 8000, 0 \le m \le 20000, 1 \le a < b \le 2n .