כדי להתקין חבילות במערכת ההפעלה Vinux, משתמש Vasya ב־Vum, מנהל החבילות המודרני.
לכל חבילה יש כמה גרסאות שאפשר להתקין. ניתן להתקין רק גרסה אחת של יישום בכל רגע. נקרא לגרסה מסוימת של יישום מסוים חבילה. מכיוון שגרסאות מסוימות של יישומים שונים עשויות להיות בלתי תואמות זו לזו, ב־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
הערה
הדוגמה הראשונה מכילה שתי התנגשויות. הראשונה מונעת התקנה של הגרסה השלישית של vim ושל הגרסה השמינית של nano בו־זמנית. השנייה קובעת שאפשר להתקין רק אחת מהחבילות הבאות — הגרסה הראשונה של vim, החמישית של nano והשנייה של vim — או לא להתקין אף אחת. הפתרונות הנכונים הם:
1 8 21 8 32 8 22 8 33 5 23 5 3
בדוגמה השנייה יש שני יישומים, לכל אחד גרסה אחת. אולם ההתנגשות היחידה אוסרת להתקין את שני היישומים יחד.