時間制限 : sec, メモリ制限 : KB
Japanese

A: Grid Mori / グリッド森

とある富豪の森さんが,グリッド状に区分けされた土地の n 区画を買って, 4つの工場 A, B, C, D を建てようとしている.

まず,土地全体の幅 w を1以上 n 以下の値で決定する. この土地の 1 番左上の区画を (0, 0) とする. そして, (0, 0) の区画を1番目に, (1, 0) の区画を2番目に購入する. このように, i 番目に (x, y) の区画を購入した後に, i + 1 番目に (x + 1, y) の区画を購入していく. もし, (w, y) の区画を購入しようとしたときは, 代わりに (0, y + 1) の区画を購入する.

さらに森さんは,土地を購入する前に占い師に次のようなことを言われていた.

a 番目に購入するグリッドの土地に工場Aを,b 番目に購入するグリッドに工場Bを,c 番目のグリッドに工場Cを,d 番目のグリッドに工場Dを建てるとよいぞ.」

森さんは,非常に占い好きであり,必ず占い師の助言を守りたいと考えている. しかし,AとB,CとDの2つのペアは関連のある工場であるため,できるだけ近くにあった方がよい. 自分の土地の買い方と占い師の助言を両方守りつつ,関連する工場同士をなるべく近くしたいのである.

ここで,2つの土地が (x1, y1),(x2, y2) にあるとき, 距離は,|x1 - x2 |+ |y1 - y2 | で求めることができる. |x| は, x の絶対値を表している.

あなたの仕事は, (工場AとBの距離) + (工場CとDの距離) の値が最小になるように土地を購入したときの距離の合計を求めるプログラムを作成することである.

図1はサンプルの1番目における,すべての工場の配置の組み合わせである.幅3で土地を購入したとき,距離の合計が最小となる.

A_sample1.png A_sample2.png

図1: サンプル1の工場の配置

Input

入力は次の形式で表される.

n
a b
c d

入力は,全て整数値である. n (4 ≦ n ≦ 100) はこれから購入する土地のグリッド数を表す. a, b, c, d (1 ≦ a, b, c, dn) は,それぞれ工場A, B, C, Dを何番目に購入したグリッドの土地に建てるかを表す. このとき,a, b, c, dは全て,異なる数が入力される.

Output

森さんが,a, b 間と c, d 間の距離の合計が最小となるように土地を購入したときの合計値を1行で出力せよ.

Sample Input 1

5
1 4
2 5

Sample Output 1

2

Sample Input 2

16
2 9
14 8

Sample Output 2

3