#include<stdio.h>
#include<stdlib.h>
#define Nmax 51
int n,m,k,a[Nmax][Nmax],b[Nmax][Nmax];
int pi,pf,xi,xf;
const int dx[]={0,0,1,-1},
dy[]={1,-1,0,0};
void lee()
{
int x[Nmax*Nmax],y[Nmax*Nmax],i,j,ii,jj,li,lf=1;
x[1]=pi;
y[1]=pf;
a[pi][pf]=1;
for(li=1;li<=lf;li++)
{
i=x[li];
j=y[li];
for(int k=0;k<8;k++)
{
ii=dx[k]+i;
jj=dy[k]+j;
if(ii<1||ii>n) continue;
if(jj<1||jj>m) continue;
if(a[ii][jj]==-1||a[ii][jj]>0) continue;
x[++lf]=ii;
y[lf]=jj;
a[ii][jj]=a[i][j]+1;
if(ii==xi&&jj==xf)
{
printf("%d\n",a[ii][jj]);
exit(0);
}
}
}
}
int main()
{
freopen("kdrum.in","r",stdin);
freopen("kdrum.out","w",stdout);
scanf("%d %d %d",&n,&m,&k);
scanf("%d %d %d %d",&pi,&pf,&xi,&xf);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{scanf("%d",&b[i][j]);
if(b[i][j]==0)
a[i][j]=-1;
}
lee();
printf("-1\n");
return 0;
}