import math

[W,H,Sx,Sy,Ex,Ey] = input().split()
W = int(W)
H = int(H)
Sx = int(Sx)
Sy = int(Sy)
Ex = int(Ex)
Ey = int(Ey)

tab = []
for i in range(H//2):
    vrst = input().split()
    for j in range(0,len(vrst)):
        vrst[j] = int(vrst[j])
    tab.append(vrst)

dolzina = ((Sx-Ex)**2 + (Sy-Ey)**2)**(1/2)

#obrnimo
poz = [Sy,Sx]
k1 = Ey
k2 = Ex


def test(z1,z2,k1,k2):
    a1 = ((z1 + 2 -k1)**2 + (z2-k2)**2)
    a2 = ((z1 -k1)**2 + (z2-2-k2)**2)
    a3 = ((z1-2-k1)**2 + (z2 -k2)**2)
    a4 = ((z1-k1)**2 + (z2 + 2 -k2)**2)
    if a2 >= a1 and a3 >= a1 and a4 >= a1:
        if a1 == a2:
            return [z1 + 2,z2 - 2,True,1]
        if a1 == a4:
            return [z1 + 2,z2 + 2,True,0]
        return [z1 + 2,z2,False]
    if a1 >= a2 and a3 >= a2 and a4 >= a2:
        if a2 == a3:
            return [z1 - 2,z2 - 2,True,2]
        return [z1,z2 - 2,False]
    if a1 >= a3 and a2 >= a3 and a4 >= a3:
        if a4 == a3:
            return [z1 - 2,z2 + 2,True,3]
        return [z1-2,z2,False]
    if a1 >= a4 and a2 >= a4 and a3 >= a4:
        return [z1,z2+2,False]

def najdi(p1,p2):
    t1 = (p1-1)//2
    t2 = (p2-1)//2
    return tab[t2][t1]


while True:
    if poz[0] == k1 and  poz[1] == k2:
        break
    info = test(poz[0],poz[1],k1,k2)
    poz_kk = [info[0],info[1]]
    if not info[2]:
        dolzina = dolzina + abs(najdi(poz[0],poz[1])-najdi(poz_kk[0],poz_kk[1]))
        poz = poz_kk
    else:
        if info[3]==0:
            poz_t = najdi(poz[0],poz[1])
            poz_k = najdi(poz_kk[0],poz_kk[1])
            a1 = najdi(poz[0]+2,poz[1])
            a2 = najdi(poz[0],poz[1]+2)
            if min(a1,a2)>max(poz_t,poz_k):
                dolzina = dolzina + abs(min(a1,a2)-poz_t) + abs(min(a1,a2)-poz_k)
                poz = poz_kk
            else:
                dolzina = dolzina + abs(poz_t - poz_k)
                poz = poz_kk
        if info[3] == 1:
            poz_t = najdi(poz[0],poz[1])
            poz_k = najdi(poz_kk[0],poz_kk[1])
            a1 = najdi(poz[0]+2,poz[1])
            a2 = najdi(poz[0],poz[1]-2)
            if min(a1,a2)>max(poz_t,poz_k):
                dolzina = dolzina + abs(min(a1,a2)-poz_t) + abs(min(a1,a2)-poz_k)
                poz = poz_kk
            else:
                dolzina = dolzina + abs(poz_t - poz_k)
                poz = poz_kk
        if info[3] == 2:
            poz_t = najdi(poz[0],poz[1])
            poz_k = najdi(poz_kk[0],poz_kk[1])
            a1 = najdi(poz[0]-2,poz[1])
            a2 = najdi(poz[0],poz[1]-2)
            if min(a1,a2)>max(poz_t,poz_k):
                dolzina = dolzina + abs(min(a1,a2)-poz_t) + abs(min(a1,a2)-poz_k)
                poz = poz_kk
            else:
                dolzina = dolzina + abs(poz_t - poz_k)
                poz = poz_kk
        if info[3] == 3:
            poz_t = najdi(poz[0],poz[1])
            poz_k = najdi(poz_kk[0],poz_kk[1])
            a1 = najdi(poz[0]-2,poz[1])
            a2 = najdi(poz[0],poz[1]+2)
            if min(a1,a2)>max(poz_t,poz_k):
                dolzina = dolzina + abs(min(a1,a2)-poz_t) + abs(min(a1,a2)-poz_k)
                poz = poz_kk
            else:
                dolzina = dolzina + abs(poz_t - poz_k)
                poz = poz_kk

print(dolzina)
