AT_abc353_f [ABC353F] Tile Distance
Description
[problemUrl]: https://atcoder.jp/contests/abc353/tasks/abc353_f
座標平面上にタイルが敷き詰められています。 $ 1\times1 $ の大きさの小タイルと $ K\times\ K $ の大きさの大タイルの $ 2 $ 種類があり、次の規則に従って敷き詰められています。
- 整数の組 $ (i,j) $ に対し、正方形 $ \lbrace(x,y)\mid\ i\leq\ x\leq\ i+1\wedge\ j\leq\ y\leq\ j+1\rbrace $ は $ 1 $ つの小タイルもしくは $ 1 $ つの大タイルに含まれる。
- $ \left\lfloor\dfrac\ iK\right\rfloor+\left\lfloor\dfrac\ jK\right\rfloor $ が偶数のとき、小タイルに含まれる。
- そうでないとき、大タイルに含まれる。
ただし、タイルは境界を含むものとし、共通部分が正の面積をもつような $ 2 $ つの異なるタイルは存在しないとします。
例えば、$ K=3 $ のとき、タイルは以下のようになります。

高橋君は、はじめ座標平面上の点 $ (S\ _\ x+0.5,S\ _\ y+0.5) $ にいます。
高橋君は、次の移動を好きなだけ繰り返します。
- 上下左右の方向と正の整数 $ n $ を選ぶ。その方向に $ n $ だけ進む。
高橋君が異なるタイルを通るたび、高橋君は通行料を $ 1 $ だけ支払います。
高橋君が点 $ (T\ _\ x+0.5,T\ _\ y+0.5) $ にたどり着くために支払わなければならない通行料の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ K $ $ S\ _\ x $ $ S\ _\ y $ $ T\ _\ x $ $ T\ _\ y $
Output Format
高橋君が支払わなければならない通行料の最小値を出力せよ。
Explanation/Hint
### 制約
- $ 1\leq\ K\leq10\ ^\ {16} $
- $ 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/abc353/35d47ae5cfbcc870ac4d285a8e024278.png) - 上に $ 3 $ 進む。通行料を $ 1 $ 支払う。 - 左に $ 2 $ 進む。通行料を $ 1 $ 支払う。 - 上に $ 1 $ 進む。通行料を $ 1 $ 支払う。 - 左に $ 4 $ 進む。通行料を $ 2 $ 支払う。 支払う通行料を $ 4 $ 以下にすることはできないので、`5` を出力してください。
### Sample Explanation 2
!\[\](https://img.atcoder.jp/abc353/a454c75aab412b8ada226a5e7741e5e1.png) 高橋君が最短距離で移動するとき、どのように移動しても通行料を $ 42 $ だけ支払います。 支払う通行料を $ 41 $ 以下にすることはできないので、`42` を出力してください。
### Sample Explanation 3
通行料を支払わなくてよい場合もあります。