import java.util.*;
import java.io.*;
import java.math.*;
class Ideone {
public static void main
(String args
[]) { Scanner in
= new Scanner
(System.
in); int n = in.nextInt(); //количество зерен
int m = in.nextInt(); //часть, которую можно съесть за ход
int[] result = new int[n-m+1]; //массив значений
for(int i = 0; i < n-m+1; i++) result[i] = 0;
result[0] = 1; //в позиции n = m следуте взять одно зерно и выиграть
result[1] = -1; //в позиции n = m + 1 выиграть нельзя
int takeToWin = 0;
for(int step = m+1; step < n+1; step++){
boolean good = false; //есть ли возможность перейти на выигрышную позицию из данной
//проверка всех позиций, в которые можно попасть за ход
for(int i = step-m; i >= ((step - step/m)-m) && !good; i--){
if(result[i] == -1){ //если выигрышная позиция достижима
good = true; //уведомить об этом программу
takeToWin = n-m-i; //зафиксировать расстояние до позиции
}
}
if(good) result[step-m] = 1; //если возможно, пометить позицию как выгрышную
else result[step-m] = -1; //иначе - пометить как проигрышную
}
for(int i = 0; i < n-m+1; i++) //вывод типа позиции
System.
out.
println(i
+m
+":\t"+result
[i
]); if(result[n-m] == 1) //вывести на экран оптимальное количество зерен на первом шаге
System.
out.
println(takeToWin
); else //или указать, что выигрышных ходов нет
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwppbXBvcnQgamF2YS5tYXRoLio7CiAKY2xhc3MgSWRlb25lIHsgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgYXJnc1tdKSB7CiAgICAJU2Nhbm5lciBpbiA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAJaW50IG4gPSBpbi5uZXh0SW50KCk7CS8v0LrQvtC70LjRh9C10YHRgtCy0L4g0LfQtdGA0LXQvQogICAgCWludCBtID0gaW4ubmV4dEludCgpOwkvL9GH0LDRgdGC0YwsINC60L7RgtC+0YDRg9GOINC80L7QttC90L4g0YHRitC10YHRgtGMINC30LAg0YXQvtC0CiAgICAJaW50W10gcmVzdWx0ID0gbmV3IGludFtuLW0rMV07CS8v0LzQsNGB0YHQuNCyINC30L3QsNGH0LXQvdC40LkKICAgIAlmb3IoaW50IGkgPSAwOyBpIDwgbi1tKzE7IGkrKykgcmVzdWx0W2ldID0gMDsKICAgIAlyZXN1bHRbMF0gPSAxOwkvL9CyINC/0L7Qt9C40YbQuNC4IG4gPSBtINGB0LvQtdC00YPRgtC1INCy0LfRj9GC0Ywg0L7QtNC90L4g0LfQtdGA0L3QviDQuCDQstGL0LjQs9GA0LDRgtGMCiAgICAJcmVzdWx0WzFdID0gLTE7IC8v0LIg0L/QvtC30LjRhtC40LggbiA9IG0gKyAxINCy0YvQuNCz0YDQsNGC0Ywg0L3QtdC70YzQt9GPCiAgICAJaW50IHRha2VUb1dpbiA9IDA7CiAgICAJZm9yKGludCBzdGVwID0gbSsxOyBzdGVwIDwgbisxOyBzdGVwKyspewogICAgCQlib29sZWFuIGdvb2QgPSBmYWxzZTsJLy/QtdGB0YLRjCDQu9C4INCy0L7Qt9C80L7QttC90L7RgdGC0Ywg0L/QtdGA0LXQudGC0Lgg0L3QsCDQstGL0LjQs9GA0YvRiNC90YPRjiDQv9C+0LfQuNGG0LjRjiDQuNC3INC00LDQvdC90L7QuQogICAgCQkvL9C/0YDQvtCy0LXRgNC60LAg0LLRgdC10YUg0L/QvtC30LjRhtC40LksINCyINC60L7RgtC+0YDRi9C1INC80L7QttC90L4g0L/QvtC/0LDRgdGC0Ywg0LfQsCDRhdC+0LQKICAgIAkJZm9yKGludCBpID0gc3RlcC1tOyBpID49ICgoc3RlcCAtIHN0ZXAvbSktbSkgJiYgIWdvb2Q7IGktLSl7CiAgICAJCQlpZihyZXN1bHRbaV0gPT0gLTEpewkvL9C10YHQu9C4INCy0YvQuNCz0YDRi9GI0L3QsNGPINC/0L7Qt9C40YbQuNGPINC00L7RgdGC0LjQttC40LzQsAogICAgCQkJCWdvb2QgPSB0cnVlOwkJLy/Rg9Cy0LXQtNC+0LzQuNGC0Ywg0L7QsSDRjdGC0L7QvCDQv9GA0L7Qs9GA0LDQvNC80YMKICAgIAkJCQl0YWtlVG9XaW4gPSBuLW0taTsJLy/Qt9Cw0YTQuNC60YHQuNGA0L7QstCw0YLRjCDRgNCw0YHRgdGC0L7Rj9C90LjQtSDQtNC+INC/0L7Qt9C40YbQuNC4CiAgICAJCQl9CiAgICAJCX0KICAgIAkJaWYoZ29vZCkgcmVzdWx0W3N0ZXAtbV0gPSAxOwkvL9C10YHQu9C4INCy0L7Qt9C80L7QttC90L4sINC/0L7QvNC10YLQuNGC0Ywg0L/QvtC30LjRhtC40Y4g0LrQsNC6INCy0YvQs9GA0YvRiNC90YPRjgogICAgCQllbHNlIHJlc3VsdFtzdGVwLW1dID0gLTE7CQkvL9C40L3QsNGH0LUgLSDQv9C+0LzQtdGC0LjRgtGMINC60LDQuiDQv9GA0L7QuNCz0YDRi9GI0L3Rg9GOCiAgICAJfQogICAgCWZvcihpbnQgaSA9IDA7IGkgPCBuLW0rMTsgaSsrKQkJLy/QstGL0LLQvtC0INGC0LjQv9CwINC/0L7Qt9C40YbQuNC4CiAgICAJCVN5c3RlbS5vdXQucHJpbnRsbihpK20rIjpcdCIrcmVzdWx0W2ldKTsKICAgIAlpZihyZXN1bHRbbi1tXSA9PSAxKQkvL9Cy0YvQstC10YHRgtC4INC90LAg0Y3QutGA0LDQvSDQvtC/0YLQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC30LXRgNC10L0g0L3QsCDQv9C10YDQstC+0Lwg0YjQsNCz0LUKICAgIAkJU3lzdGVtLm91dC5wcmludGxuKHRha2VUb1dpbik7CiAgICAJZWxzZQkvL9C40LvQuCDRg9C60LDQt9Cw0YLRjCwg0YfRgtC+INCy0YvQuNCz0YDRi9GI0L3Ri9GFINGF0L7QtNC+0LIg0L3QtdGCCiAgICAJCVN5c3RlbS5vdXQucHJpbnRsbigtMSk7CiAgICB9Cn0=