/**
AUTHOR:Rahul Shah
LINK:
WEBSITE:Directi Internship
PROBLEM:
**/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<map>
#include<cmath>
#include<cstring>
#include<stack>
#include<climits>
#include<cstdlib>
using namespace std;
#define MOD 1000000007
#define ll long long
ll int a[101][101];
int vi,vj,n,m,k;
int vis[101][101];
ll int dis[101][101];
int abs(int a)
{
return a>0?a:-a;
}
ll int f(int i,int j)
{
// cout<<i<<" "<<j<<"\n";
ll int d1=9999999LL*9999999,d2=9999999LL*9999999,d3=9999999LL*9999999,d4=9999999LL*9999999;
vis[i][j]=1;
if(i==vi&&j==vj)
{
return 1;
}
if(i+1<n&&!vis[i+1][j]&&abs(a[i+1][j]-a[i][j])<=k)
{
if(dis[i][j]!=0)
{
d1=dis[i+1][j];
}
else
d1=f(i+1,j);
}
if(j+1<m&&!vis[i][j+1]&&abs(a[i][j+1]-a[i][j])<=k)
{
if(dis[i][j]!=0)
{
d2=dis[i][j+1];
}
else
d2=f(i,j+1);
}
if(i-1>=0&&!vis[i-1][j]&&abs(a[i-1][j]-a[i][j])<=k)
{
if(dis[i-1][j]!=0)
{
d3=dis[i-1][j];
}
else
d3=f(i-1,j);
}
if(j-1>=0&&!vis[i][j-1]&&abs(a[i][j-1]-a[i][j])<=k)
{
if(dis[i][j-1]!=0)
{
d4=dis[i][j-1];
}
else
d4=f(i,j-1);
}
vis[i][j]=0;
return dis[i][j]=(1+min(d1,min(d2,min(d3,d4))));
}
int main()
{
int t;
cin>>t;
while(t--)
{
// int n,m;
cin>>n>>m;
// int vi,vj;
cin>>vi>>vj;
scanf("%d",&k);
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
a[i][j]=vis[i][j]=dis[i][j]=0;
}
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
a[i][j]=vis[i][j]=0;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
vi--;vj--;
ll int ans=f(0,0);
if(vis[vi][vj]==0)
printf("-1\n");
else
printf("%lld\n",ans-2);
}
return 0;
}
Ci8qKgpBVVRIT1I6UmFodWwgU2hhaApMSU5LOgpXRUJTSVRFOkRpcmVjdGkgSW50ZXJuc2hpcApQUk9CTEVNOgoqKi8KCiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxjc3RkaW8+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPGNtYXRoPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxzdGFjaz4KI2luY2x1ZGU8Y2xpbWl0cz4KI2luY2x1ZGU8Y3N0ZGxpYj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGxsIGxvbmcgbG9uZwpsbCBpbnQgYVsxMDFdWzEwMV07CmludCB2aSx2aixuLG0sazsKaW50IHZpc1sxMDFdWzEwMV07CmxsIGludCBkaXNbMTAxXVsxMDFdOwppbnQgYWJzKGludCBhKQp7CglyZXR1cm4gYT4wP2E6LWE7Cn0KbGwgaW50IGYoaW50IGksaW50IGopCnsKLy8JY291dDw8aTw8IiAiPDxqPDwiXG4iOwoJbGwgaW50IGQxPTk5OTk5OTlMTCo5OTk5OTk5LGQyPTk5OTk5OTlMTCo5OTk5OTk5LGQzPTk5OTk5OTlMTCo5OTk5OTk5LGQ0PTk5OTk5OTlMTCo5OTk5OTk5OwoJdmlzW2ldW2pdPTE7CglpZihpPT12aSYmaj09dmopCgl7CgkJcmV0dXJuIDE7Cgl9CglpZihpKzE8biYmIXZpc1tpKzFdW2pdJiZhYnMoYVtpKzFdW2pdLWFbaV1bal0pPD1rKQoJewoJIAlpZihkaXNbaV1bal0hPTApCgkgCXsKCSAJCWQxPWRpc1tpKzFdW2pdOwoJIAl9CgkgCWVsc2UgCgkgCQlkMT1mKGkrMSxqKTsKCX0KCWlmKGorMTxtJiYhdmlzW2ldW2orMV0mJmFicyhhW2ldW2orMV0tYVtpXVtqXSk8PWspCgl7CgkJaWYoZGlzW2ldW2pdIT0wKQoJIAl7CgkgCQlkMj1kaXNbaV1baisxXTsKCSAJfQoJIAllbHNlCgkJCWQyPWYoaSxqKzEpOwoJfQoJCglpZihpLTE+PTAmJiF2aXNbaS0xXVtqXSYmYWJzKGFbaS0xXVtqXS1hW2ldW2pdKTw9aykKCXsKCSAJaWYoZGlzW2ktMV1bal0hPTApCgkgCXsKCSAJCWQzPWRpc1tpLTFdW2pdOwoJIAl9CgkgCWVsc2UKCSAJCWQzPWYoaS0xLGopOwoJfQoJaWYoai0xPj0wJiYhdmlzW2ldW2otMV0mJmFicyhhW2ldW2otMV0tYVtpXVtqXSk8PWspCgl7CgkJaWYoZGlzW2ldW2otMV0hPTApCgkgCXsKCSAJCWQ0PWRpc1tpXVtqLTFdOwoJIAl9CgkgCWVsc2UgCgkJCWQ0PWYoaSxqLTEpOwoJfQoJdmlzW2ldW2pdPTA7CglyZXR1cm4gZGlzW2ldW2pdPSgxK21pbihkMSxtaW4oZDIsbWluKGQzLGQ0KSkpKTsKfQppbnQgbWFpbigpCnsKCWludCB0OwoJY2luPj50OwoJd2hpbGUodC0tKQoJewoJLy8JaW50IG4sbTsKCQljaW4+Pm4+Pm07CgkvLwlpbnQgdmksdmo7CgkJY2luPj52aT4+dmo7CgkJc2NhbmYoIiVkIiwmayk7CgkJZm9yKGludCBpPTA7aTxuO2krKykKCQl7CgkJCWZvcihpbnQgaj0wO2o8bTtqKyspCgkJCXsKCQkJCWFbaV1bal09dmlzW2ldW2pdPWRpc1tpXVtqXT0wOwoJCQl9CgkJfQoJCWZvcihpbnQgaT0wO2k8bjtpKyspCgkJCWZvcihpbnQgaj0wO2o8bTtqKyspCgkJCXsKCQkJCWFbaV1bal09dmlzW2ldW2pdPTA7CgkJCX0KCQlmb3IoaW50IGk9MDtpPG47aSsrKQoJCXsKCQkJZm9yKGludCBqPTA7ajxtO2orKykKCQkJewoJCQkJc2NhbmYoIiVkIiwmYVtpXVtqXSk7CgkJCX0KCQl9CgkJdmktLTt2ai0tOwoJCWxsIGludCBhbnM9ZigwLDApOwoJCWlmKHZpc1t2aV1bdmpdPT0wKQoJCQlwcmludGYoIi0xXG4iKTsKCQllbHNlCgkJCXByaW50ZigiJWxsZFxuIixhbnMtMik7CgkJCgkJCgl9CnJldHVybiAwOwp9