#include <cstdio>
#include <algorithm>
#include <cmath>
#define ll long long
#define PIII pair< pair< ll, ll >, ll >
#define x first.first
#define y first.second
#define cost second
#define INF (1<<60)
using namespace std;
ll N, M, T, Min;
PIII P1, P2, P3, P4, P5, P6;
inline ll MIN( ll X, ll Y )
{ return ( X < Y ) ? X : Y; }
inline ll Dist0( ll H, ll L )
{ return L + H; }
inline ll Dist1( PIII p1, PIII p2, ll Cost )
{ return Cost + p1.x + p1.y + abs( N - p2.x ) + abs( M - p2.y ); }
inline ll Dist2( PIII p1, PIII p2, PIII p3, PIII p4, ll Cost )
{ return Cost + p1.x + p1.y + abs( p2.x - p3.x ) + abs( p2.y - p3.y ) + abs( N - p4.x ) + abs( M - p4.y ); }
inline ll Dist3( PIII p1, PIII p2, PIII p3, PIII p4, PIII p5, PIII p6, ll Cost )
{ return Cost + p1.x + p1.y + abs( p2.x - p3.x ) + abs( p2.y - p3.y ) + abs( p4.x - p5.x ) + abs( p4.y - p5.y ) + abs( p6.x - N ) + abs( p6.y - M ); }
inline void Rezolva()
{
Min = Dist0( N, M ); // 0 perechi
Min = MIN( Min, Dist1( P1, P2, P1.cost ) ); // 1 pereche
Min = MIN( Min, Dist1( P2, P1, P1.cost ) );
Min = MIN( Min, Dist1( P3, P4, P3.cost ) );
Min = MIN( Min, Dist1( P4, P3, P3.cost ) );
Min = MIN( Min, Dist1( P5, P6, P5.cost ) );
Min = MIN( Min, Dist1( P6, P5, P5.cost ) );
Min = MIN( Min, Dist2( P1, P2, P3, P4, P1.cost + P3.cost ) ); // 2 perechi
Min = MIN( Min, Dist2( P2, P1, P3, P4, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P1, P2, P4, P3, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P2, P1, P4, P3, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P3, P4, P1, P2, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P3, P4, P2, P1, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P4, P3, P1, P2, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P4, P3, P2, P1, P1.cost + P3.cost ) );
Min = MIN( Min, Dist2( P1, P2, P5, P6, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P2, P1, P5, P6, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P1, P2, P6, P5, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P2, P1, P6, P5, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P5, P6, P1, P2, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P5, P6, P2, P1, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P6, P5, P1, P2, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P6, P5, P2, P1, P1.cost + P5.cost ) );
Min = MIN( Min, Dist2( P3, P4, P5, P6, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P4, P3, P5, P6, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P3, P4, P6, P5, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P4, P3, P6, P5, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P5, P6, P3, P4, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P5, P6, P4, P3, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P6, P5, P3, P4, P3.cost + P5.cost ) );
Min = MIN( Min, Dist2( P6, P5, P4, P3, P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P3, P4, P5, P6, P1.cost + P3.cost + P5.cost ) ); // 3 perechi
Min = MIN( Min, Dist3( P1, P2, P3, P4, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P4, P3, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P4, P3, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P3, P4, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P3, P4, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P4, P3, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P4, P3, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P1, P2, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P1, P2, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P1, P2, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P1, P2, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P2, P1, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P2, P1, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P2, P1, P5, P6, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P2, P1, P6, P5, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P5, P6, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P6, P5, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P5, P6, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P1, P2, P6, P5, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P5, P6, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P6, P5, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P5, P6, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P2, P1, P6, P5, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P5, P6, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P6, P5, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P5, P6, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P6, P5, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P5, P6, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P3, P4, P6, P5, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P5, P6, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P4, P3, P6, P5, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P1, P2, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P1, P2, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P1, P2, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P1, P2, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P2, P1, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P2, P1, P3, P4, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P2, P1, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P2, P1, P4, P3, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P3, P4, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P3, P4, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P4, P3, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P4, P3, P1, P2, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P3, P4, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P3, P4, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P5, P6, P4, P3, P2, P1, P1.cost + P3.cost + P5.cost ) );
Min = MIN( Min, Dist3( P6, P5, P4, P3, P2, P1, P1.cost + P3.cost + P5.cost ) );
printf("%lld\n", Min);
}
int main()
{
freopen("portal3.in", "r", stdin);
freopen("portal3.out", "w", stdout);
scanf("%lld", &T);
for( ; T; --T )
{
scanf("%lld%lld", &N, &M);
scanf("%lld %lld %lld %lld %lld", &P1.x, &P1.y, &P2.x, &P2.y, &P1.cost);
P2.cost = P1.cost;
scanf("%lld%lld%lld%lld%lld", &P3.x, &P3.y, &P4.x, &P4.y, &P3.cost);
P4.cost = P3.cost;
scanf("%lld%lld%lld%lld%lld", &P5.x, &P5.y, &P6.x, &P6.y, &P5.cost);
P6.cost = P5.cost;
Rezolva();
}
return 0;
}