#include <stdio.h>
#include <stdlib.h>
struct portal
{
long x1, y1, x2, y2, c;
}p[4];
const int a[15][4]={{1,4},{1,2,4},{1,2,3,4},{1,3,4},{1,3,2,4},{2,4},{2,1,4},{2,1,3,4},{2,3,4},{2,3,1,4},{3,4},{3,1,4},{3,1,2,4},{3,2,4},{3,2,1,4}};
const int dir[8][3]={{0,0,0},{0,0,1},{0,1,0},{0,1,1},{1,0,0},{1,0,1},{1,1,0},{1,1,1}};
long t, xf, yf, x, y, i, j, k;
long long timp, min;
long long dist(long x1, long y1, long x2, long y2);
int main()
{
freopen("portal3.in", "r", stdin);
freopen("portal3.out", "w", stdout);
scanf("%ld%ld%ld", &t, &xf, &yf);
for (;t>0;t--)
{
x=0;
y=0;
for (i=1; i<=3; i++)
scanf("%ld%ld%ld%ld%ld", &p[i].x1, &p[i].y1, &p[i].x2, &p[i].y2, &p[i].c);
min=dist(x, y, xf, yf);
for (i=0;i<15;i++)
for (k=0;k<8;k++)
{
x=0;
y=0;
j=0;
timp=0;
while (a[i][j]!=4)
{
if (dir[k][a[i][j]]==0)
{
timp+=dist(x,y,p[a[i][j]].x1,p[a[i][j]].y1);
timp+=p[a[i][j]].c;
x=p[a[i][j]].x2;
y=p[a[i][j]].y2;
}//if
else
{
timp+=dist(x,y,p[a[i][j]].x2,p[a[i][j]].y2);
timp+=p[a[i][j]].c;
x=p[a[i][j]].x1;
y=p[a[i][j]].y1;
}//else
j++;
}//while
timp+=dist(x,y,xf,yf);
if (timp<min)
min=timp;
}//for k
printf("%lld", min);
}//for t
return 0;
}//main
long long dist(long x1, long y1, long x2, long y2)
{
return abs(x1-x2)+abs(y1-y2);
}//dist