Mängitakse kabelaual. Ühel mängijal on neli nuppu, teisel üks nupp. Käiakse kordamööda. Nelja nupu omanik võib ise valida millise nupuga käia. Neli nuppu võivad liikuda vaid edasi. Üksiku nupuga võib käia nii edasi kui tagasi. Käiakse ainult mustadel ruutudel. Teise nupu peale ega sellest üle käia ei saa. Alustatakse kummagi mängija poolsest servast. Üksiku nupu eesmärgiks on jõuda laua vastasservani. Nelja nupuga mängija eesmärgiks on üksik nupp kinni püüda nõnda, et see enam liikuda ei saaks. * Leia olukorra tunnused, kus üksikul nupul on kindel võimalus vastaspoolele jõuda. * Koosta programm kontrollimaks, kas üksikul nupul on aruka käimise korral kindel võimalus vastaspoolele jõuda. Andmed loetakse sisse tekstifailist. Iga täht tähistab ühte ruutu. Neli nuppu liiguvad alt üles, üksik soovib liikuda vastupidi. Faili viimasel (üheksandal) real on kirjas kas 4 või 1, vastavalt sellele, kumma kord on käia. * Koosta vähemalt üks võimalikult keeruline näitfail, kus teie programm suudab näidata, et üksiku läbimurre on võimalik. Pärast on võimalik seda faili üksteise programmidega katsetada. * Koosta programm, mis saab andmed ette eelkirjeldatud kujuga failist, teeb võimalikult aruka käigu ning salvestab andmed sinnasamasse faili ning trükib seisu ka ekraanile.