#include<cstdio>
#include<vector>
#include<deque>
#include<utility>
using namespace std;
int n,m,t,x,y,c,x1,y1,x2,y2,i,j,oo=1<<30,d[15],q[15],L[15][15],dist(int,int,int,int);
vector<pair<int, int> > V[15],pct;
deque<int> Q;
void read(),solve();
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("portal3.in","r",stdin);
freopen("portal3.out","w",stdout);
scanf("%d",&t);
}
void solve()
{
for(;t;t--)
{
pct.clear();
for(i=1;i<10;i++)V[i].clear();
scanf("%d%d",&n,&m);
pct.push_back(make_pair(0,0));
scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&c);
V[2].push_back(make_pair(3,c));
V[3].push_back(make_pair(2,c));
L[2][3]=L[3][2]=t;
pct.push_back(make_pair(x1,y1));
pct.push_back(make_pair(x2,y2));
scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&c);
V[4].push_back(make_pair(5,c));
V[5].push_back(make_pair(4,c));
L[4][5]=L[5][4]=t;
pct.push_back(make_pair(x1,y1));
pct.push_back(make_pair(x2,y2));
scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&c);
V[6].push_back(make_pair(7,c));
V[7].push_back(make_pair(6,c));
L[6][7]=L[7][6]=t;
pct.push_back(make_pair(x1,y1));
pct.push_back(make_pair(x2,y2));
pct.push_back(make_pair(n,m));
vector<pair<int,int> >::iterator it1,it2;
/*for(it1=pct.begin();it1!=pct.end();it1++)
printf("%d %d\n",it1->first,it1->second);
printf("\n\n\n");
*/
for(i=0;i<8;i++)
{
it1=pct.begin()+i;
x1=it1->first;y1=it1->second;
for(j=0;j<8;j++)
{
if(i==j)continue;
it2=pct.begin()+j;
x2=it2->first;y2=it2->second;
if(L[i+1][j+1]!=t)
V[i+1].push_back(make_pair(j+1,dist(x1,y1,x2,y2) ));
if(L[j+1][i+1]!=t)
V[j+1].push_back(make_pair(i+1,dist(x1,y1,x2,y2) ));
L[i+1][j+1]=L[j+1][i+1]=t;
}
}
/*for(i=1;i<=8;i++)
{
for(vector<pair<int,int> >::iterator it=V[i].begin();it!=V[i].end();it++)
{
printf("%d %d %d\n",i,it->first,it->second);
}
}*/
d[1]=0;
for(i=2;i<=10;i++)d[i]=oo;
Q.push_back(1);q[i]=1;
for(;Q.size();)
{
x=Q.front();
for(vector<pair<int,int> >::iterator it=V[x].begin();it!=V[x].end();it++)
{
y=it->first;c=it->second;
if(d[x]+c<d[y])
{
if(!q[y])
{
Q.push_back(y);
q[y]=1;
}
d[y]=d[x]+c;
}
}
Q.pop_front();q[x]=0;
}
printf("%d\n",d[8]);
}
}
int dist(int x1,int y1,int x2,int y2)
{
int sum=0;
if(x1<x2)sum+=x2-x1;
else sum+=x1-x2;
if(y1<y2)sum+=y2-y1;
else sum+=y1-y2;
return sum;
}