def min_moves(Gx, Gy): # Rook logic if Gx == 0 and Gy == 0: rook = 0 elif Gx == 0 or Gy == 0: rook = 1 else: rook = 2 # Bishop logic if (Gx + Gy) % 2 != 0: bishop = float('inf') # Cannot reach elif Gx == Gy or Gx == -Gy: bishop = 1 else: bishop = 2 return min(rook, bishop) # Input example Gx, Gy = map(int, input().split()) print(min_moves(Gx, Gy))