N×N 크기의 체스판이 있다. 행과 열에는 각각 1부터 N까지 번호가 붙어 있다. 나이트가 R1행 C1열 칸에서 출발해 R2행 C2열 칸으로 가려고 한다.
나이트는 한 번에 한 축으로 두 칸, 다른 축으로 한 칸 움직인다. 즉 (A,B)에 있는 나이트는 (A−2,B−1), (A−2,B+1), (A+2,B−1), (A+2,B+1), (A−1,B−2), (A+1,B−2), (A−1,B+2), (A+1,B+2) 중 한 칸으로 갈 수 있다. 물론 체스판 밖으로 나갈 수는 없다.
N, R1, C1, R2, C2가 주어질 때, 나이트를 (R1,C1)에서 (R2,C2)로 옮기는 데 필요한 최소 이동 횟수를 구해라.
첫 줄에 테스트 케이스의 개수 T가 주어진다. T는 양의 정수이다.
각 테스트 케이스는 한 줄에 다섯 정수 N, R1, C1, R2, C2로 이루어진다. 3≤N≤1015이고, R1, C1, R2, C2는 모두 1 이상 N 이하이다.
각 테스트 케이스마다 나이트를 (R1,C1)에서 (R2,C2)로 옮기는 최소 이동 횟수를 한 줄에 하나씩 출력한다.
답은 항상 존재한다고 가정한다. 즉 출발 칸에서 도착 칸으로 나이트를 옮길 수 있는 입력만 주어진다.