KURSAI TINGINIAMS  (JAV)						Lithuanian 

(Vykdymo laikas – 10 sek. Pentium 200 Mhz) 

Kai studentai įstoja į universitetą, jie susiduria su sudėtingomis taisyklėmis laipsniui įgyti. Pavyzdžiui, kompiuterių mokslų laipsniui įgyti reikia įvykdyti daug reikalavimų ir kiekvieną jų gali tenkinti daugelis kursų. Be to, bet kuris atskiras kursas tuo pačiu metu gali tenkinti keletą reikalavimų. Šios taisyklės pateikiamos studentams, kai šie įstoja į universitetą: studentai turi pasirinkti tokius kursus, kurie garantuotų jiems laipsnį.

Kadangi dauguma gerų programuotojų yra tingūs, siekdami kompiuterių mokslo laipsnio jie nori pasirinkti kiek galima mažiau kursų. Jūs turite parašyti programą, kuri padėtų tingiam kompiuterių specialybės naujokui pasirinkti reikiamus kursus laipsniui pasiekti.

Kursai numeruojami natūraliųjų skaičių seka nuo 1 iki C (C – bendras galimų kursų skaičius). Duota, kurie kursai kuriuos reikalavimus tenkina. Atsižvelgdama į tai Jūsų programa turi sudaryti tokį rekomenduojamų kursų rinkinį, kad kiekvieną laipsniui įgyti būtiną reikalavimą tenkintų bent vienas rekomenduojamas kursas. Jeigu nors vienas reikalavimas nebus tenkinamas, vargšas studentas neįgis laipsnio, o Jūsų programos rastas sprendinys bus laikomas neteisingu ir vertinamas 0 (nuliu) balų. Jeigu randamas tinkantis sprendinys, tuomet balai skiriami priklausomai nuo sprendinio kokybės: kuo mažiau kursų studentas turės išklausyti, tuo daugiau balų vertinamas sprendinys.

Atkreipiame dėmesį, kad kai kuriems testams Jūsų programa greičiausiai ne visuomet galės rasti optimalų sprendinį neviršydama laiko limito.Turite bandyti rasti kiek galima geresnį sprendimą per duotą laiko limitą ir įsitikinti, kad Jūsų programa šį sprendinį įrašo į rezultatų bylą ir pati baigia darbą nepasibaigus vykdymo laikui.

Laikoma, kad sprendinys visuomet egzistuoja. 

Pradiniai duomenys
Pirmoje bylos LAZY.IN eilutėje įrašyti du sveikieji skaičiai C ir R, atskirti vienu tarpu. C reiškia studentui galimų pasirinkti kursų skaičių (1 £ C £ 200), o R – laipsniui įgyti būtinų reikalavimų skaičių (1 £ R £ 100).
Likusios C eilutės aprašo kiekvieną kursą (pirma eilutė skiriama pirmam kursui, paskutinė – C-ajam kursui). Kiekvienoje eilutėje pateikiama R sveikųjų skaičių (pirmasis aprašo pirmąjį reikalavimą, paskutinis – R-ąjį). Skaičiai skiriami vienu tarpu.
Bylos c+1-oje eilutėje r-asis sveikasis skaičius lygus 1, jeigu kursas c tenkina reikalavimą r, arba 0 – priešingu atveju.

Rezultatai
Rezultatų bylą LAZY.OUT turi sudaryti dvi eilutės. Pirmoje eilutėje turi būti pateiktas vienas sveikasis skaičius N – tingiam studentui rekomenduojamų kursų skaičius. Antroje eilutėje turi būti įrašyta N sveikųjų skaičių, vienas nuo kito skiriamų vienu tarpu, nurodančių rekomenduojamų N kursų numerius. Kursų numeriai gali būti pateikiami bet kuria tvarka. 

Pavyzdys
Pradiniai duomenys (byla LAZY.IN)  		Rezultatai (byla LAZY.OUT)
4 3				 			2
0 1 0						2 3
1 1 0
0 1 1
0 0 1
Yra 4 galimi kursai ir 3 reikalavimai: pirmasis kursas tenkina tik reikalavimą 2, antrasis – reikalavimus 1 ir 2, trečiasis – 2 ir 3, ketvirtasis – reikalavimą 3.
Rezultatai: tingiam studentui pakanka išklausyti tik du kursus (kurių numeriai 2 ir 3).