#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int read()
{
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=x*10+c-'0';
c=getchar();
}
return f*x;
}
int n,m,sx,sy,tx,ty,ans;
int X[2][100000],Y[2][100000],f[2][500][500],h[2],t[2];
int to[8][2]={{1,2},{2,1},{1,-2},{-2,1},{-1,2},{2,-1},{-1,-2},{-2,-1}};
int bfs(int sx,int sy,int tx,int ty)
{
int p=0;
while(1)
{
h[p]++;
int x=X[p][h[p]],y=Y[p][h[p]];
for(int i=0;i<8;i++)
{
int x1=x+to[i][0],y1=y+to[i][1];
if(x1<1||x1>n||y1<1||y1>n||f[p][x1][y1]) continue;
t[p]++;
f[p][x1][y1]=f[p][x][y]+1;
X[p][t[p]]=x1;
Y[p][t[p]]=y1;
if(f[p^1][x1][y1]) return f[p][x1][y1]+f[p^1][x1][y1]-2;
}
p^=1;
}
}
int main()
{
m=read();
while(m--)
{
n=read();
ans=0;
memset(f,0,sizeof(f));
h[0]=h[1]=0;
t[0]=t[1]=1;
sx=read(); sy=read();
tx=read(); ty=read();
X[0][1]=sx; Y[0][1]=sy;
f[0][sx][sy]=1;
X[1][1]=tx; Y[1][1]=ty;
f[1][tx][ty]=1;
if(sx!=tx||sy!=ty) ans=bfs(sx,sy,tx,ty);
cout<<ans<<"\n";
}
return 0;
}