配点 : 300点

問題文

HH 行、横 WW 列のグリッドがあります。上から ii 行目、左から jj 列目のマスを (i,j)(i,j) とします。
またこのグリッドでは端を越えて移動すると反対側に出てくる、つまりグリッドは端から端まで循環します。
スタート地点の座標は (sx,sy)(sx, sy) であり、ゴール地点の座標は (gx,gy)(gx, gy) です。
くしらくんは以下の2種類の操作を行ってスタート地点からゴール地点へたどり付きたいです。

  • コストを 22払い、隣へ1マス移動する。
    厳密には、今いる座標を (i,j)(i,j) として、コストを 22 払って ((i1)modH,j),(i,(j+1)modW),((i+1)modH,j),(i,(j1)modW)((i-1)mod H,j), (i,(j+1)modW), ((i+1)modH,j), (i,(j-1)modW) のいずれかに移動する。
  • コストを33払い、斜めへ11マス移動する。
    厳密には今いる座標を (i,j)(i,j) として、コストを 33 払って ((i1)modH,(j+1)modW),((i+1)modH,(j+1)modW),((i+1)modH,(j1)modW),((i1)modH,(j1)modW)((i-1)modH,(j+1)modW), ((i+1)modH,(j+1)modW), ((i+1)modH,(j-1)modW), ((i-1)modH,(j-1)modW) のいずれかに移動する。

くしらくんが目標を達成するために必要なコストの最小値を答えてください。 TT 個のテストケースが与えられるのでそれぞれに答えてください。

※追記(13:34) 厳密に書いた式が間違っています。0-indexであるものにその式を適用してください。

制約

  • 1T1041≦T≦10^4
  • 1H,W10121≦H, W≦10^{12}
  • 1sx,gxH1≦sx, gx≦H
  • 1sy,gyW1≦sy, gy≦W
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

TT
case1case_1
case2case_2
\vdots
case3case_3

各テストケースは以下の形式で与えられる。

HH WW sxsx sysy gxgx gygy

出力

TT 行出力してください。ii 行目には、 caseicase_i に対する答えを出力してください。


入出力例1

  • 入力
3
3 6 1 2 3 4
3 3 1 1 2 3
314 159 26 53 98 97
  • 出力
5
3
188

1つめのテストケースでは以下のように移動することで目標を達成することができます。

  • コストを 22 払って右へ移動する。
  • コストを 33 払って右上へ移動する。

55 よりも小さいコストで目標を達成することが出来ないので 55 を出力します。

提出


Go (1.21)