def min_moves_to_goal(Gx, Gy): if Gx == 0 and Gy == 0: return 0 # ルークの場合の移動 if Gx == Gy or Gx == -Gy: # ルークは1手で到達可能 return 1 # ビショップの場合の移動 if Gx == Gy: # ビショップは1手で到達可能 return 1 else: # ビショップでは到達不可能 return 2 # ゴールの座標 (Gx, Gy) を入力 Gx, Gy = map(int, input().split()) # 最小手数を出力 print(min_moves_to_goal(Gx, Gy))