AT_abc359_c [ABC359C] Tile Distance 2

Description

[problemUrl]: https://atcoder.jp/contests/abc359/tasks/abc359_c 座標平面上に $ 2\times1 $ の大きさのタイルが敷き詰められています。 タイルは、次の規則に従って敷き詰められています。 - 整数の組 $ (i,j) $ に対し、正方形 $ A\ _\ {i,j}=\lbrace(x,y)\mid\ i\leq\ x\leq\ i+1\wedge\ j\leq\ y\leq\ j+1\rbrace $ は $ 1 $ つのタイルに含まれる。 - $ i+j $ が偶数のとき、$ A\ _\ {i,j} $ と $ A\ _\ {i\ +\ 1,j} $ は同じタイルに含まれる。 ただし、タイルは境界を含むものとし、共通部分が正の面積をもつような $ 2 $ つの異なるタイルは存在しないとします。 原点の近くでは、タイルは以下のように敷き詰められています。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc359_c/85986a05648888be0c6d0706034a45ff07ff8b7a.png) 高橋君は、はじめ座標平面上の点 $ (S\ _\ x+0.5,S\ _\ y+0.5) $ にいます。 高橋君は、次の移動を好きなだけ繰り返します。 - 上下左右の方向と正の整数 $ n $ を選ぶ。その方向に $ n $ だけ進む。 高橋君が異なるタイルを通るたび、高橋君は通行料を $ 1 $ だけ支払います。 高橋君が点 $ (T\ _\ x+0.5,T\ _\ y+0.5) $ にたどり着くために支払わなければならない通行料の最小値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ S\ _\ x $ $ S\ _\ y $ $ T\ _\ x $ $ T\ _\ y $

Output Format

高橋君が支払わなければならない通行料の最小値を出力せよ。

Explanation/Hint

### 制約 - $ 0\leq\ S\ _\ x\leq2\times10\ ^\ {16} $ - $ 0\leq\ S\ _\ y\leq2\times10\ ^\ {16} $ - $ 0\leq\ T\ _\ x\leq2\times10\ ^\ {16} $ - $ 0\leq\ T\ _\ y\leq2\times10\ ^\ {16} $ - 入力はすべて整数 ### Sample Explanation 1 例えば、以下のように移動することで支払う通行料を $ 5 $ にすることができます。 !\[\](https://img.atcoder.jp/abc359/187d19c48a9a0fcedb2602063689ee77.png) - 左に $ 1 $ 進む。通行料を $ 0 $ 支払う。 - 上に $ 1 $ 進む。通行料を $ 1 $ 支払う。 - 左に $ 1 $ 進む。通行料を $ 0 $ 支払う。 - 上に $ 3 $ 進む。通行料を $ 3 $ 支払う。 - 左に $ 1 $ 進む。通行料を $ 0 $ 支払う。 - 上に $ 1 $ 進む。通行料を $ 1 $ 支払う。 支払う通行料を $ 4 $ 以下にすることはできないので、`5` を出力してください。 ### Sample Explanation 2 通行料を支払わなくてよい場合もあります。 ### Sample Explanation 3 出力すべき値が $ 32\operatorname{bit} $ 整数の範囲に収まらない場合があることに注意してください。