#include <bits/stdc++.h>
#define pii pair<int,int>
#define endl cout<<"\n";
#define fi first
#define int long long
#define se second
#define ios ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define op freopen
#define TXT "test"
#define freo if(fopen(TXT".inp","r")){op(TXT".inp","r",stdin);op(TXT".out","w",stdout);}
using namespace std;
int n,m,a[1005][1005],u1,v1,u2,v2;
int dx[]={1,-1,0,0};
int dy[]={0,0,1,-1};
bool vs[1005][1005];
bool check(int m)
{
int ans;
memset(vs,false,sizeof vs);
queue<pii> q;
pii c;
q.push({u1,v1});
vs[u1][v1]=1;
int x,y,nx,ny;
while(!q.empty())
{
c=q.front();
x=c.fi;
y=c.se;
q.pop();
if(x==u2&&y==v2)
{
return 1;
}
for(int i=0;i<4;i++)
{
nx=dx[i]+x;
ny=dy[i]+y;
if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&!vs[nx][ny]&&abs(a[x][y]-a[nx][ny])<=m)
{
vs[nx][ny]=1;
q.push({nx,ny});
}
}
}
return 0;
}
void bs(int l,int r)
{
int m,ans=-1;
while(l<=r)
{
m=(l+r)>>1;
if(check(m))
{
ans=m;
r=m-1;
}
else
{
l=m+1;
}
}
cout<<ans;
}
main()
{
cin>>n>>m>>u1>>v1>>u2>>v2;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
bs(0,1e9);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBlbmRsIGNvdXQ8PCJcbiI7CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgaW9zIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpOyBjb3V0LnRpZShOVUxMKTsKI2RlZmluZSBvcCBmcmVvcGVuCiNkZWZpbmUgVFhUICJ0ZXN0IgojZGVmaW5lIGZyZW8gaWYoZm9wZW4oVFhUIi5pbnAiLCJyIikpe29wKFRYVCIuaW5wIiwiciIsc3RkaW4pO29wKFRYVCIub3V0IiwidyIsc3Rkb3V0KTt9Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixtLGFbMTAwNV1bMTAwNV0sdTEsdjEsdTIsdjI7CmludCBkeFtdPXsxLC0xLDAsMH07CmludCBkeVtdPXswLDAsMSwtMX07CmJvb2wgdnNbMTAwNV1bMTAwNV07CmJvb2wgY2hlY2soaW50IG0pCnsKICAgIGludCBhbnM7CiAgICBtZW1zZXQodnMsZmFsc2Usc2l6ZW9mIHZzKTsKICAgIHF1ZXVlPHBpaT4gcTsKICAgIHBpaSBjOwogICAgcS5wdXNoKHt1MSx2MX0pOwogICAgdnNbdTFdW3YxXT0xOwogICAgaW50IHgseSxueCxueTsKICAgIHdoaWxlKCFxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgYz1xLmZyb250KCk7CiAgICAgICAgeD1jLmZpOwogICAgICAgIHk9Yy5zZTsKICAgICAgICBxLnBvcCgpOwogICAgICAgIGlmKHg9PXUyJiZ5PT12MikKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDtpPDQ7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgbng9ZHhbaV0reDsKICAgICAgICAgICAgbnk9ZHlbaV0reTsKICAgICAgICAgICAgaWYobng+PTEmJm54PD1uJiZueT49MSYmbnk8PW0mJiF2c1tueF1bbnldJiZhYnMoYVt4XVt5XS1hW254XVtueV0pPD1tKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2c1tueF1bbnldPTE7CiAgICAgICAgICAgICAgICBxLnB1c2goe254LG55fSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQp2b2lkIGJzKGludCBsLGludCByKQp7CiAgICBpbnQgbSxhbnM9LTE7CiAgICB3aGlsZShsPD1yKQogICAgewogICAgICAgIG09KGwrcik+PjE7CiAgICAgICAgaWYoY2hlY2sobSkpCiAgICAgICAgewogICAgICAgICAgICBhbnM9bTsKICAgICAgICAgICAgcj1tLTE7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGw9bSsxOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGFuczsKfQptYWluKCkKewogICAgY2luPj5uPj5tPj51MT4+djE+PnUyPj52MjsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIGZvcihpbnQgaj0xO2o8PW07aisrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj5hW2ldW2pdOwogICAgICAgIH0KICAgIH0KICAgIGJzKDAsMWU5KTsKfQo=