def get_num(x,y):
if [x,y] in [[0,0],[1,0],[0,1],[1,1]]:
n= 1
else:
if x>=0:
if y<=0:
n = x if x>=-y+1 else -y+1
else:
n = x if x>y else y
else:
if y<=0:
n = -y+1 if abs(y)>abs(x) else -x+1
else:
n = y if abs(y)>=abs(x)+1 else abs(x)+1
max = (2*n)*(2*n)
right_top = max-(2*n*2-2)
right_bot = max-(2*n-1)
left_top = right_top-(2*n-1)
print(max,right_bot,right_top,left_top)
if x==0:
if y==0:
return 1
elif y<0:
return right_top -n
else:
return max-(n-1)
elif x>0:
if y ==0:
return right_top+(n-1)
elif y<0 and y<=-x+1:
return right_top-n+x
elif y<0 and y>-x+1:
return right_top+n-1+y
elif y>0 and y<=x:
return right_bot-n+y
else:
return right_bot+n-x
else:
if y==0:
return left_top-(n-1)
elif y<0 and y<=x:
return left_top+(n-1)-abs(x)
elif y<0 and y>x:
return left_top-(n-1)+abs(y)
elif y>0 and y<-x+1:
return left_top-(n-1)-y
else:
return max-(n-1)+abs(x)
if __name__ == '__main__':
test_data =[]
i=0
while i<2:
i+=1
test_data.append(list(map(int,input().strip().split())))
for pointer_list in test_data:
print(get_num(pointer_list[0],pointer_list[1]))