#include <iostream>
using namespace std;
int main() {
int N, M, count = 0;
cin>>N>>M;
if ((N%2!=0)&&(M==0)) //здесь проверяется, возможно ли убить Горыныча
{
cout<<"-1"<<endl;// вывод "-1" в противном случае
}
else
{
while ((N>0)||(M>0)) //цикл будет выполняться до тех пор, пока существует хоть одна голова или хвост
{
if (M%2==1) //если хвостов нечетное количество, то посредством отрубания одного хвоста увеличиваем число их на 1
{
count++;// здесь и далее таким образом будет увеличиваться счетчик надрезов
M++;
}
if ((N%2==1)&&(M>=2)) //если голов нечетное количество, то отрубая два хвоста увеличиваем количество голов на 1
{
M-=2;
N++;
count++;
}
if ((M%2==0)&&(N%2==0)&&((N+(M/2))%2==0)) //если число голов и хвостов четное, и если количество хвостов при делении на два дает четное число
{
count=count+M/2+((N+M/2)/2);//то увеличиваем счетчик надрезов
N=0;
M=0;//и обнуляем количество голов и хвостов для выхода их цикла
}
else //если не выполняется какое-либо из условий прошлого ветвления, то увеличиваем количество голов на 1
{
M++;
count++;
}
}
cout<<count<<endl;//выводим количество ударов
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgTiwgTSwgY291bnQgPSAwOwoJY2luPj5OPj5NOwoJaWYgKChOJTIhPTApJiYoTT09MCkpIC8v0LfQtNC10YHRjCDQv9GA0L7QstC10YDRj9C10YLRgdGPLCDQstC+0LfQvNC+0LbQvdC+INC70Lgg0YPQsdC40YLRjCDQk9C+0YDRi9C90YvRh9CwCgl7CgkJY291dDw8Ii0xIjw8ZW5kbDsvLyDQstGL0LLQvtC0ICItMSIg0LIg0L/RgNC+0YLQuNCy0L3QvtC8INGB0LvRg9GH0LDQtQoJfQoJZWxzZSAKCXsKCQl3aGlsZSAoKE4+MCl8fChNPjApKSAvL9GG0LjQutC7INCx0YPQtNC10YIg0LLRi9C/0L7Qu9C90Y/RgtGM0YHRjyDQtNC+INGC0LXRhSDQv9C+0YAsINC/0L7QutCwINGB0YPRidC10YHRgtCy0YPQtdGCINGF0L7RgtGMINC+0LTQvdCwINCz0L7Qu9C+0LLQsCDQuNC70Lgg0YXQstC+0YHRggoJCXsKCQkJaWYgKE0lMj09MSkgLy/QtdGB0LvQuCDRhdCy0L7RgdGC0L7QsiDQvdC10YfQtdGC0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+LCDRgtC+INC/0L7RgdGA0LXQtNGB0YLQstC+0Lwg0L7RgtGA0YPQsdCw0L3QuNGPINC+0LTQvdC+0LPQviDRhdCy0L7RgdGC0LAg0YPQstC10LvQuNGH0LjQstCw0LXQvCDRh9C40YHQu9C+INC40YUg0L3QsCAxCgkJCXsKCQkJCWNvdW50Kys7Ly8g0LfQtNC10YHRjCDQuCDQtNCw0LvQtdC1INGC0LDQutC40Lwg0L7QsdGA0LDQt9C+0Lwg0LHRg9C00LXRgiDRg9Cy0LXQu9C40YfQuNCy0LDRgtGM0YHRjyDRgdGH0LXRgtGH0LjQuiDQvdCw0LTRgNC10LfQvtCyCgkJCQlNKys7CgkJCX0KCQkJaWYgKChOJTI9PTEpJiYoTT49MikpIC8v0LXRgdC70Lgg0LPQvtC70L7QsiDQvdC10YfQtdGC0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+LCDRgtC+INC+0YLRgNGD0LHQsNGPINC00LLQsCDRhdCy0L7RgdGC0LAg0YPQstC10LvQuNGH0LjQstCw0LXQvCDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCyINC90LAgMQoJCQl7CgkJCQlNLT0yOwoJCQkJTisrOwoJCQkJY291bnQrKzsKCQkJfQoJCQlpZiAoKE0lMj09MCkmJihOJTI9PTApJiYoKE4rKE0vMikpJTI9PTApKSAvL9C10YHQu9C4INGH0LjRgdC70L4g0LPQvtC70L7QsiDQuCDRhdCy0L7RgdGC0L7QsiDRh9C10YLQvdC+0LUsINC4INC10YHQu9C4INC60L7Qu9C40YfQtdGB0YLQstC+INGF0LLQvtGB0YLQvtCyINC/0YDQuCDQtNC10LvQtdC90LjQuCDQvdCwINC00LLQsCDQtNCw0LXRgiDRh9C10YLQvdC+0LUg0YfQuNGB0LvQvgoJCQl7CgkJCQljb3VudD1jb3VudCtNLzIrKChOK00vMikvMik7Ly/RgtC+INGD0LLQtdC70LjRh9C40LLQsNC10Lwg0YHRh9C10YLRh9C40Log0L3QsNC00YDQtdC30L7QsgoJCQkJTj0wOwoJCQkJTT0wOy8v0Lgg0L7QsdC90YPQu9GP0LXQvCDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCyINC4INGF0LLQvtGB0YLQvtCyINC00LvRjyDQstGL0YXQvtC00LAg0LjRhSDRhtC40LrQu9CwCgkJCX0KCQkJZWxzZSAgLy/QtdGB0LvQuCDQvdC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LrQsNC60L7QtS3Qu9C40LHQviDQuNC3INGD0YHQu9C+0LLQuNC5INC/0YDQvtGI0LvQvtCz0L4g0LLQtdGC0LLQu9C10L3QuNGPLCDRgtC+INGD0LLQtdC70LjRh9C40LLQsNC10Lwg0LrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QsiDQvdCwIDEKCQkJewoJCQkJTSsrOwoJCQkJY291bnQrKzsKCQkJfQoJCX0KCQljb3V0PDxjb3VudDw8ZW5kbDsvL9Cy0YvQstC+0LTQuNC8INC60L7Qu9C40YfQtdGB0YLQstC+INGD0LTQsNGA0L7QsgoJfQoJcmV0dXJuIDA7Cn0=