Untuk memasang paket di sistem operasi Vinux, Vasya menggunakan Vum, pengelola paket modern.
Setiap paket memiliki beberapa versi yang dapat dipasang. Hanya satu versi suatu aplikasi yang dapat dipasang pada satu waktu. Kita sebut suatu versi tertentu dari aplikasi tertentu sebagai paket. Karena versi tertentu dari aplikasi berbeda dapat saling tidak kompatibel, ada konsep konflik dalam Vum. Setiap konflik adalah himpunan paket yang paling banyak satu paketnya boleh dipasang. Mencoba memasang lebih dari satu paket dari daftar konflik menyebabkan sistem rusak, dan Vasya tidak menginginkannya.
Versi-versi berbeda dari suatu aplikasi dapat berkonflik atau tidak. Satu konflik dapat mencakup beberapa versi suatu aplikasi, termasuk semua versinya.
Karena sistem deskripsi konflik dalam Vum cukup sederhana, setiap paket hanya dapat tercantum dalam satu konflik.
Vasya ingin memasang $N$ aplikasi berbeda tanpa merusak Vinux miliknya. Ia harus memilih versi aplikasi tanpa melanggar aturan di atas, tetapi algoritma penyelesaian dependensi menyeluruh milik Vum tidak sanggup menangani tugas ini. Vasya meminta bantuan untuk pengelola paketnya.
Masukan
Baris pertama berkas masukan berisi bilangan bulat $N$ — jumlah aplikasi yang ingin Vasya pasang ($1 \le N \le 200$).
$N$ baris berikutnya memberikan deskripsi aplikasi beserta daftar versinya. Deskripsi suatu aplikasi terdiri dari bidang-bidang berikut yang dipisahkan spasi:
- nama aplikasi — string huruf Latin kecil sepanjang 1 hingga 10 karakter;
- jumlah versi — bilangan bulat positif paling besar $1\,000$;
- nomor versi — bilangan bulat positif yang dicantumkan dalam urutan menaik.
Nomor aplikasi paling besar $100\,000$. Semua nama aplikasi berbeda.
Baris berikutnya berisi bilangan $K$ — jumlah konflik ($0 \le K \le 500$).
$K$ baris berikutnya mendeskripsikan konflik. Deskripsi konflik diawali bilangan bulat positif $T$ — jumlah paket dalam konflik. Kemudian dicantumkan $T$ paket yang dipisahkan spasi. Untuk setiap paket, nama aplikasi diberikan terlebih dahulu, diikuti nomor versinya.
Dijamin bahwa paket-paket dalam konflik tidak pernah berulang, dan semua versi disebutkan dalam deskripsi aplikasi.
Keluaran
Jika tidak mungkin memasang seluruh $N$ aplikasi tanpa konflik, satu-satunya baris berkas keluaran harus berisi kata No. Jika mungkin, baris pertama harus berisi kata Yes, dan baris kedua harus mencantumkan nomor-nomor versi yang harus dipasang untuk mewujudkannya, dipisahkan spasi.
Versi untuk $N$ aplikasi harus dicetak dengan urutan yang sama seperti deskripsi aplikasi dalam berkas masukan. Jika ada beberapa cara memilih aplikasi yang mungkin, cetak salah satunya.
Contoh
Masukan 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
Keluaran 1
Yes 2 8 2
Masukan 2
2 firefox 1 38 chrome 1 46 1 2 firefox 38 chrome 46
Keluaran 2
No
Catatan
Contoh pertama mengandung dua konflik. Konflik pertama mencegah pemasangan versi ketiga vim dan versi kedelapan nano secara bersamaan. Konflik kedua menyatakan bahwa hanya satu dari paket berikut yang boleh dipasang — versi pertama vim, versi kelima nano, dan versi kedua vim — atau tidak satu pun. Solusi yang benar adalah sebagai berikut:
1 8 21 8 32 8 22 8 33 5 23 5 3
Dalam contoh kedua ada dua aplikasi, masing-masing dengan satu versi. Namun, satu-satunya konflik melarang pemasangan kedua aplikasi secara bersamaan.