/***************************************************************** Author:lbn187, a konjac TwT Date:2016-03-05 Contest:Bestcoder Algorithm:QAQ ^_^ Orz hzh, NOI gold members, IOI 2016 world champion ^=^ Orz hhw, you are our blue moon, with you will live ^~^ Orz mxh, you are our red sun, without you we'll die ^-^ Orz yizhou, I wish you a successful marriage ^w^ Orz xianyangyu, you can sleep all the time in the game *****************************************************************/ #pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #include #define fo(i,n) for(int i=0;i=0;i--) #define rep(i,a,n) for(int i=a;i<=n;i++) #define per(i,a,n) for(int i=n;i>=a;i--) #define mjj(i,x) for(int i=fir[x];i;i=ne[i]) #define X first #define Y second #define MAX(a,b) a=max(a,b) #define MIN(a,b) a=min(a,b) #define mp make_pair #define gi(a) scanf("%d",&a); #define gi2(a,b) scanf("%d%d",&a,&b); #define gi3(a,b,c) scanf("%d%d%d",&a,&b,&c); #define gl(a) scanf("%I64d",&a); #define gs(s) scanf("%s",s); #define wi(a) printf("%d\n",a); #define wi2(a,b) printf("%d %d\n",a,b); #define wl(a) printf("%I64d\n",a); #define spr(x) (x*x) #define pi acos(-1) #define CM(a,b) memcpy(a,b,sizeof(b)) #define CL(a) memset(a,0,sizeof(a)) #define N 222222 #define M 1000000007 #define inf 1e9 #define eps 1e-8 using namespace std; typedef long long LL;typedef unsigned long long ULL;typedef double LF;typedef long double LD; typedef pairpii;typedef pairpil;typedef pairpli;typedef pairpll;typedef pairpff; const int xx[]={1,-1,0,0},yy[]={0,0,1,-1};LL pow(LL a,LL b,LL p){LL sum=1;for(a%=p;b;a=a*a%p,b>>=1)if(b&1)sum=sum*a%p;return sum;} char ch;void rd(int &x){for(ch=getchar();ch<'0';ch=getchar());for(x=0;ch>='0';ch=getchar())x=x*10+ch-'0';} LL phi(LL n){LL i,re=n;for(i=2;i*i<=n;i++)if(n%i==0){re=re/i*(i-1);while(n%i==0)n/=i;}if(n>1)re=re/n*(n-1);return re%M;} void exgcd(LL a,LL b,LL &x,LL &y){if(!b){x=1;y=0;return;}exgcd(b,a%b,y,x);y-=x*(a/b);} LL gcd(LL a,LL b){return b==0?a:gcd(b,a%b);} int T,n,m,x,y,h,t,I,i,j,tot,A1,B1,A2,B2,A3,B3,a[N],d[9],q[N],fir[9],ne[99],la[99],va[99];bool v[9]; void ins(int x,int y,int z){la[++tot]=y;va[tot]=z;ne[tot]=fir[x];fir[x]=tot;la[++tot]=x;va[tot]=z;ne[tot]=fir[y];fir[y]=tot;} int main(){ scanf("%d",&T); for(;T--;){LL S=0; scanf("%d%d",&n,&m); scanf("%d%d%d%d%d%d",&A1,&B1,&A2,&B2,&A3,&B3); for(I=1;I<=m;I++){ scanf("%d%d",&x,&y);CL(fir);tot=0; ins(3,4,1);ins(5,6,1);ins(7,8,1); ins(1,2,abs(x-y)); ins(1,3,abs(x-A1)); ins(1,4,abs(x-B1)); ins(1,5,abs(x-A2)); ins(1,6,abs(x-B2)); ins(1,7,abs(x-A3)); ins(1,8,abs(x-B3)); ins(2,3,abs(y-A1)); ins(2,4,abs(y-B1)); ins(2,5,abs(y-A2)); ins(2,6,abs(y-B2)); ins(2,7,abs(y-A3)); ins(2,8,abs(y-B3)); ins(3,5,abs(A1-A2)); ins(3,6,abs(A1-B2)); ins(3,7,abs(A1-A3)); ins(3,8,abs(A1-B3)); ins(4,5,abs(B1-A2)); ins(4,6,abs(B1-B2)); ins(4,7,abs(B1-A3)); ins(4,8,abs(B1-B3)); ins(5,7,abs(A2-A3)); ins(5,8,abs(A2-B3)); ins(6,7,abs(B2-A3)); ins(6,8,abs(B2-B3)); for(memset(d,63,sizeof(d)),CL(v),h=d[q[t=1]=1]=0,v[1]=1;h^t;) for(i=fir[x=q[++h]],v[x]=0;i;i=ne[i])if(d[x]+va[i]