Ioivari žaidimas
UŽDUOTIS
Viena seniausių žmonijos pramogų yra Mancala žaidimai su rutuliukais ir duobutėmis. Panagrinėkime tokį specialiai IOI sukurtą žaidimą. Apvalioje lentoje ratu yra septynios duobutės. Žaidimo pradžioje 20 rutuliukų atsitiktinai išdėliojami į duobutes taip, kad kiekvienoje duobutėje būtų ne mažiau kaip 2 ir ne daugiau kaip 4 rutuliukai. Žaidimą žaidžia du žaidėjai, kiekvienas jų turi savo banką. Abu žaidėjai ėjimus atlieka paeiliui. 

Atėjus eilei, žaidėjas pasirenka norimą netuščią duobutę ir paima į rankas visus joje esančius rutuliukus. Ėjimo metu žaidėjas paeiliui nagrinėja duobutes prieš laikrodžio rodyklę pradėdamas nuo duobutės, gretimos ką tik ištuštintai duobutei. 

Kol žaidėjo rankose yra daugiau nei vienas rutuliukas, jis atlieka tokius veiksmus:
•	Jei nagrinėjamoje duobutėje yra 5 rutuliukai, tuomet žaidėjas paima vieną rutuliuką iš šios duobutės ir padeda į savo banką; priešingu atveju į šią duobutę padeda vieną iš rankoje turimų rutuliukų; Padėjęs arba paėmęs rutuliuką žaidėjas pereina prie tolesnės duobutės.

Jei žaidėjo rankose yra lygiai vienas rutuliukas, jis atlieka žemiau aprašytą veiksmą (ir juo užbaigia ėjimą):
•	Jei nagrinėjamoje duobutėje yra vienas, du, trys arba keturi rutuliukai, tuomet žaidėjas paima visus šioje duobutėje esančius rutuliukus ir padeda juos į savo banką. Kartu į savo banką jis padeda ir vienintelį rankoje turimą rutuliuką. Priešingu atveju (jei duobutėje yra 0 arba 5 rutuliukai) jis padeda rankoje turimą rutuliuką į priešininko banką. 

Atlikus ėjimą, po kurio duobutėse nebeliko rutuliukų, žaidimas užbaigiamas. Laimi tas žaidėjas, kuris savo banke turi daugiau rutuliukų. 

Pradedantis žaidėjas visuomet turi galimybę laimėti. Parašykite programą, kuri žaistų Ioivari žaidimą už pirmąjį (pradedantį) žaidėją ir laimėtų žaidimą. Jūsų priešininkas būtinai žais optimaliai, t.y. jis būtinai laimės (o jūs pralaimėsite), jei tik jam bus suteikta tokia proga.

PRADINIAI DUOMENYS IR REZULTATAI
Jūsų programa turi skaityti iš standartinio įvesties įrenginio (standard input) ir rašyti į standartinį išvesties įrenginį (standard output). Jūsų programa bus pirmasis žaidėjas,  o priešininkas – antrasis žaidėjas. Pradžioje jūsų programa turi perskaityti eilutę su 7 sveikaisiais skaičiais p1,..p7. Tai pradiniai rutuliukų kiekiai atitinkamai 1,..7 duobutėse. Duobutės lentoje sunumeruotos nuo 1 iki 7 prieš laikrodžio rodyklę. 

Po to prasideda žaidimas. Pradžioje abu bankai tušti. Jūsų programa turi žaisti taip:

•	Jei jūsų programai reikia atlikti ėjimą, tuomet jūsų programa turi išvesti į standartinį išvesties įrenginį pasirinktos duobutės (iš kurios bus paimti visi rutuliukai) numerį. 
•	Jei ėjimą reikia atlikti jūsų priešininkui, tuomet jūsų programa iš standartinio įvesties įrenginio turi perskaityti duobutės, kurią pasirinko jūsų priešininkas, numerį.

PRIEMONĖS
Jums pateikta programa (ioiwari2 – Linux’e, ioiwari2.exe – Windows’uose), kuri optimaliai žaidžia vieną konkretų žaidimą už antrąjį žaidėją. Pirmiausia ji į standartinį išvesties įrenginį išveda žemiau pateiktą eilutę, kurią turės perskaityti jūsų programa: 
4 3 2 4 2 3 2

Ši eilutė nusako, kaip duobutėse išdėlioti rutuliukai.

Toliau ši programa žais žaidimą, bandydama perskaityti pirmojo žaidėjo ėjimus iš standartinio įvesties įrenginio ir išvesdama savo ėjimus į standartinį išvesties įrenginį.

Jūs galite savo programą ir programą ioiwari2 vykdyti skirtinguose languose, o abiem programoms reikalingus duomenis surinkti rankomis. Ioiwari2 įrašo dialogą į bylą ioiwari.out.

NURODYMAI, KAIP PROGRAMUOTI

Žemiau pateiktame pavyzdyje paskutinį jūsų perskaitytą skaičių saugo kintamasis last, o jūsų ėjimą – kintamasis mymove.

Jei programuojate Paskalio kalba, tai skaityti iš standartinio įvesties įrenginio ir rašyti į standartinį išvesties įrenginį turite tokiu būdu:

Writeln(mymove);
Readln(last);

PAVYZDYS
Žemiau pateikta teisinga šešių ėjimų seka:

	Rutuliukų skaičius duobutėse ir bankuose atlikus operaciją 	
Operacija/Duobutės numeris	1.	2.	3.	4.	5.	6.	7.	1–as bankas	2–as bankas	
Pradinė situacija	4	3	2	4	2	3	2	0	0	
Pirmojo žaidėjo ėjimas: 2	4	0	3	5	0	3	2	3	0	
Antrojo žaidėjo ėjimas: 3	4	0	0	4	1	4	0	3	4	
Pirmojo žaidėjo ėjimas: 5	4	0	0	4	0	0	0	8	4	
Antrojo žaidėjo ėjimas: 4	0	0	0	0	1	1	1	8	9	
Pirmojo žaidėjo ėjimas: 5	0	0	0	0	0	0	1	10	9	
Antrojo žaidėjo ėjimas: 7	0	0	0	0	0	0	0	11	9	

ĮVERTINIMAS
Jei jūsų programa laimės žaidimą, tuomet už testą bus skiriamai 4 balai, jei žaidimas baigsis lygiosiomis – už testą bus skiriami du balai. Priešingu atveju už testą bus skiriama 0 balų.