Pul oyunu zamanı üfüqi zolaq eyni kvadrat hüceyrəyə bölünür. Əvvəlcə bu hüceyrələrin bəzilərində pullar yerləşir, digərləri isə boşdur.
İki oyunçu, Dmitro və İvan, növbə ilə gediş edirlər, ilk gediş edən Dmitrodur. Hər növbədə oyunçu belə addımlar ata bilər:
Sağında ən azı bir boş hüceyrəsi olan istənilən pulu seçir.
Seçilmiş pulu, sağında yerləşən istənilən boş hüceyrəyə köçürür.
Pulun ilkin və yeni mövqeyi arasında qalan bütün pulları dəqiq bir hüceyrə sola sürüşdürür.
Bir gedişin nümunəsi aşağıdakı şəkillərdə göstərilmişdir:


Pul simvolu ilə, boş hüceyrə isə simvolu ilə göstərilir. Deməli, zolağın vəziyyəti simvolluq sətrə çevrilə bilər. Yuxarıdakı nümunədə, hərəkətdən əvvəl zolağın vəziyyəti sətri ilə, hərəkətdən sonra isə sətri ilə ifadə edilir.
Oyunçu heç bir gediş edə bilmirsə (yəni, bütün pullar onların növbəsində zolağın sağ kənarına bitişikdirsə), o uduzur. Nəticədə, sonuncu gedişi edən qalib olur.
Əgər həm Dmitro, həm də İvan optimal oynayırsa, başlanğıc vəziyyəti nəzərə alaraq, oyunun qalibini müəyyənləşdirən proqram yazın.
Zolağın başlanğıc vəziyyətini təsvir edən sətri.
Sətr ən azı , ən çox simvoldan ibarətdir.
Sətr yalnız və simvollarından ibarətdir.
Sətr -də ən azı bir var.
Sətr -də ən azı bir var.
Əgər Dmitro qalib gəlirsə, çıxış edin, əks halda İvan qalibdirsə, çıxış edin.
Nümunə 1