from collections import deque
import sys
sys.setrecursionlimit(10**6)
n = int(sys.stdin.readline())
visit = [[False for _ in range(n)] for _ in range(n)]
r1,c1,r2,c2 = map(int,sys.stdin.readline().split())
q = deque()
q.append((r1,c1))
dx = [-2,-2,0,0,2,2]
dy = [-1,1,-2,2,-1,1]
def BFS(v):
while q:
v += 1
for _ in range(len(q)):
x,y = q.popleft()
for i in range(6):
nx = x + dx[i]
ny = y + dy[i]
if nx == r2 and ny == c2:
return v
if 0<=nx<n and 0<=ny<n:
if visit[nx][ny] == False:
visit[nx][ny] = True
q.append((nx,ny))
return -1
print(BFS(0))