Vasya ใช้ Vum ซึ่งเป็นโปรแกรมจัดการแพ็กเกจสมัยใหม่ เพื่อติดตั้งแพ็กเกจในระบบปฏิบัติการ Vinux
แต่ละแพ็กเกจมีหลายเวอร์ชันที่สามารถติดตั้งได้ แต่ติดตั้งเวอร์ชันของแอปพลิเคชันเดียวกันได้เพียงหนึ่งเวอร์ชันในแต่ละครั้ง เราจะเรียกเวอร์ชันเฉพาะของแอปพลิเคชันเฉพาะว่าแพ็กเกจ เนื่องจากบางเวอร์ชันของแอปพลิเคชันต่างกันอาจใช้ร่วมกันไม่ได้ Vum จึงมีแนวคิดเรื่องความขัดแย้ง แต่ละความขัดแย้งเป็นเซตของแพ็กเกจที่สามารถติดตั้งได้ไม่เกินหนึ่งแพ็กเกจ การพยายามติดตั้งมากกว่าหนึ่งแพ็กเกจจากรายการความขัดแย้งจะทำให้ระบบล่ม และ Vasya ไม่ต้องการให้เป็นเช่นนั้น
เวอร์ชันต่างกันของแอปพลิเคชันใด ๆ อาจขัดแย้งกันหรือไม่ก็ได้ ความขัดแย้งหนึ่งอาจมีหลายเวอร์ชันของแอปพลิเคชันเดียวกัน รวมถึงทุกเวอร์ชันของแอปพลิเคชันนั้น
เนื่องจากระบบอธิบายความขัดแย้งใน Vum ค่อนข้างเรียบง่าย แต่ละแพ็กเกจจึงปรากฏในความขัดแย้งได้เพียงหนึ่งรายการ
Vasya ต้องการติดตั้งแอปพลิเคชันต่างกัน $N$ ตัวโดยไม่ทำให้ Vinux ล่ม เขาต้องเลือกเวอร์ชันโดยไม่ละเมิดกฎข้างต้น แต่อัลกอริทึมแก้การพึ่งพาแบบแจกแจงทุกทางของ Vum ไม่สามารถจัดการงานนี้ได้ Vasya จึงขอให้ช่วยเรื่องโปรแกรมจัดการแพ็กเกจของเขา
ข้อมูลนำเข้า
บรรทัดแรกของไฟล์นำเข้ามีจำนวนเต็ม $N$ ซึ่งเป็นจำนวนแอปพลิเคชันที่ Vasya ต้องการติดตั้ง ($1 \le N \le 200$)
$N$ บรรทัดถัดมาอธิบายแอปพลิเคชันพร้อมรายการเวอร์ชัน คำอธิบายแอปพลิเคชันประกอบด้วยข้อมูลต่อไปนี้คั่นด้วยช่องว่าง:
- ชื่อแอปพลิเคชัน — สตริงตัวอักษรละตินพิมพ์เล็ก ยาวตั้งแต่ 1 ถึง 10 ตัวอักษร;
- จำนวนเวอร์ชัน — จำนวนเต็มบวกไม่เกิน $1\,000$;
- หมายเลขเวอร์ชัน — จำนวนเต็มบวกที่เรียงจากน้อยไปมาก
หมายเลขของแอปพลิเคชันไม่เกิน $100\,000$ ชื่อแอปพลิเคชันทั้งหมดแตกต่างกัน
บรรทัดถัดมามีจำนวน $K$ ซึ่งเป็นจำนวนความขัดแย้ง ($0 \le K \le 500$)
$K$ บรรทัดถัดมาอธิบายความขัดแย้ง คำอธิบายแต่ละรายการเริ่มด้วยจำนวนเต็มบวก $T$ ซึ่งเป็นจำนวนแพ็กเกจในความขัดแย้ง จากนั้นระบุแพ็กเกจ $T$ แพ็กเกจคั่นด้วยช่องว่าง แต่ละแพ็กเกจระบุชื่อแอปพลิเคชัน ตามด้วยหมายเลขเวอร์ชัน
รับประกันว่าแพ็กเกจที่อยู่ในความขัดแย้งจะไม่ซ้ำกัน และทุกเวอร์ชันถูกระบุในคำอธิบายแอปพลิเคชัน
ข้อมูลส่งออก
หากไม่สามารถติดตั้งแอปพลิเคชันครบทั้ง $N$ ตัวโดยไม่มีความขัดแย้ง บรรทัดเดียวของไฟล์ส่งออกต้องมีคำว่า No หากทำได้ บรรทัดแรกต้องมีคำว่า Yes และบรรทัดที่สองต้องระบุหมายเลขเวอร์ชันที่ต้องติดตั้งเพื่อให้ทำได้ โดยคั่นด้วยช่องว่าง
ต้องแสดงเวอร์ชันของแอปพลิเคชัน $N$ ตัวตามลำดับเดียวกับที่อธิบายในไฟล์นำเข้า หากมีวิธีเลือกแอปพลิเคชันได้หลายวิธี ให้แสดงวิธีใดก็ได้หนึ่งวิธี
ตัวอย่าง
ข้อมูลนำเข้า 1
3 vim 3 1 2 3 nano 2 5 8 python 2 2 3 2 2 vim 3 nano 8 3 vim 1 nano 5 vim 2
ข้อมูลส่งออก 1
Yes 2 8 2
ข้อมูลนำเข้า 2
2 firefox 1 38 chrome 1 46 1 2 firefox 38 chrome 46
ข้อมูลส่งออก 2
No
หมายเหตุ
ตัวอย่างแรกมีความขัดแย้งสองรายการ รายการแรกห้ามติดตั้งเวอร์ชันที่ 3 ของ vim และเวอร์ชันที่ 8 ของ nano พร้อมกัน รายการที่สองระบุว่าติดตั้งได้เพียงหนึ่งในแพ็กเกจต่อไปนี้ — เวอร์ชันที่ 1 ของ vim เวอร์ชันที่ 5 ของ nano และเวอร์ชันที่ 2 ของ vim — หรือไม่ติดตั้งเลย คำตอบที่ถูกต้องมีดังนี้:
1 8 21 8 32 8 22 8 33 5 23 5 3
ในตัวอย่างที่สองมีแอปพลิเคชันสองตัว แต่ละตัวมีหนึ่งเวอร์ชัน อย่างไรก็ตาม ความขัดแย้งเพียงรายการเดียวห้ามติดตั้งแอปพลิเคชันทั้งสองพร้อมกัน