void solve(){
int dx[8] = {-2, -2, -1, -1, 1, 1, 2, 2};
int dy[8] = {-1, 1, -2, 2, -2, 2, -1, 1};
int N; cin >> N;
vector<vector<int>> board(N, vector<int>(N, -1));
int sx, sy, ex, ey; cin >> sx >> sy >> ex >> ey;
queue<pii> q;
q.push({sx, sy});
board[sx][sy] = 0;
while(!q.empty()){
auto [cx, cy] = q.front(); q.pop();
if(cx == ex && cy == ey){
cout << board[cx][cy] << "\n";
return;
}
rep(d, 0, 8){
int nx = cx + dx[d];
int ny = cy + dy[d];
if(nx < 0 || nx >= N || ny < 0 || ny >= N) continue;
if(board[nx][ny] == -1){
board[nx][ny] = board[cx][cy] + 1;
q.push({nx, ny});
}
}
}