/*
TASK:mov
LANG:C++
*/
#include <stdio.h>
#include <math.h>

using namespace std;

float s(long int x1, long int y1,long int x2, long int y2,long int x3, long int y3)
{
    float ss;
    ss=0.5*((x2-x1)*(y1+y2));
    ss=ss+0.5*((x3-x2)*(y2+y3));
    ss=ss+0.5*((x1-x3)*(y3+y1));    
    return ss;
};

int cross(long int x1, long int y1,long int x2, long int y2,long int x3, long int y3,long int x4, long int y4)
{
    if ( (s(x1,y1,x2,y2,x3,y3)*s(x1,y1,x2,y2,x4,y4))<0) 
        if ( (s(x3,y3,x4,y4,x1,y1)*s(x3,y3,x4,y4,x2,y2))<0) return 1;
        else return 0;
    else return 0;       
}

main()
{
    long int xa,ya,xb,yb,xc,yc,xd,yd,  x,y,x1,y1,x2,y2,xp,yp,xq,yq;
    long int a1,a2,b1,b2,c1,c2;
    long int n,t;
    float lic,licS;
    scanf("%d",&n);
    for (int i=0; i<n; i++)
        {
             scanf("%ld%ld%ld%ld%ld%ld%ld%ld%ld%ld",&xa,&ya,&xb,&yb,&xc,&yc,&xd,&yd,&x,&y) ;
             //
             x1=xa; y1=ya; x2=xa+x; y2=ya+y;
             a1=y1-y2; b1=x2-x1; c1=x1*y2 - x2*y1;                         
             
             x1=xb; y1=yb; x2=xb+x; y2=yb+y;
             a2=y1-y2; b2=x2-x1; c2=x1*y2 - x2*y1;                         
             //
             if ((xc>xd)) {t=xc; xc=xd; xd=t;  t=yc; yc=yd; yd=t;};
             //
             if (x>0) yp=(-a2*(xd+1)-c2)/b2; // za t. B
             else yp=(-a2*(xc-1)-c2)/b2;
             if (cross(xb,yb,xp,yp,xc,yc,xd,yd)==1) printf("1");
                else 
                {
                    if (x>0) yq=(-a1*(xd+1)-c1)/b1; // za t. A
                    else yq=(-a1*(xc-1)-c1)/b1;
                    if (cross(xa,ya,xq,yq,xc,yc,xd,yd)==1) printf("1");
                        else 
                        {
                            lic=0.5*((xq-xa)*(ya+yq));
                            lic=lic+0.5*((xp-xq)*(yq+yp));
                            lic=lic+0.5*((xb-xp)*(yp+yb));
                            lic=lic+0.5*((xa-xb)*(yb+ya));
                            lic=fabs(lic);
                            //
                            if (x>0) 
                                {
                                    licS=s(xc,yc,xa,ya,xq,yq);
                                    licS=licS+s(xc,yc,xq,yq,xp,yp);
                                    licS=licS+s(xc,yc,xp,yp,xb,yb);
                                    licS=licS+s(xc,yc,xb,yb,xa,ya);
                                    licS=fabs(licS);
                                    if (fabs(lic-licS)<0.001) printf("1");
                                    else printf("0");
                                }
                                else 
                                {
                                    licS=s(xd,yd,xa,ya,xq,yq);
                                    licS=licS+s(xd,yd,xq,yq,xp,yp);
                                    licS=licS+s(xd,yd,xp,yp,xb,yb);
                                    licS=licS+s(xd,yd,xb,yb,xa,ya);
                                    licS=fabs(licS);
                                    if (fabs(lic-licS)<0.001) printf("1");
                                    else printf("0");
                                };
                        }
                };
             
        };   
    printf("\n");
}
