๋ฐฑ์ค 7562๋ฒ ํ์ด์ฌ

import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
move = ((-2,-1),(-1,-2),(-2,1),(-1,2),(2,-1),(1,-2),(1,2),(2,1)) 
# ๋์ดํธ์ ์ด๋ ๊ท์น 
for _ in range(n):
  l = int(input())
  s = tuple(map(int, input().split()))
  e = tuple(map(int, input().split()))
  visited = [[0] * l for _ in range(l)]
  
  q = deque([s]) # bfs
  
  while q: 
    xi, xj = q.popleft()
    
    for mi, mj in move:
      ci, cj = (mi + xi), (mj + xj)
      if 0<=ci<l and 0<=cj<l: 
      # ์ฒด์ค๋ณด๋ ๋ฒ์ ์์ ์์ง์ผ ์ ์๋ ์ขํ์ธ์ง ํ์ธ
        if (not visited[ci][cj]): # ๋ฐฉ๋ฌธ ํ ์ ์ด ์๋ ๊ฒฝ์ฐ
          q.append((ci, cj))
          visited[ci][cj] = visited[xi][xj] + 1 
          # ๋ถ๋ชจ ๋
ธ๋๊น์ง์ ์ต์ ๊ฐ์ 1์ ๋ํ๋ค. 
  
  visited[s[0]][s[1]] = 0 # ์์๊ณผ ๋์ด ๊ฐ์ ๋
  print(visited[e[0]][e[1]])