/*
TASK:mov
LANG:C++
*/
#include <iostream>
using namespace std;
long long CP(long long a,long long b,long long a1,long long b1,long long a2,long long b2)
{
    long long dx1=a1-a;
    long long dy1=b1-b;
    long long dx2=a2-a;
    long long dy2=b2-b;
    return dx1*dy2-dx2*dy1;
}
long long xa,ya,xb,yb,xc,yc,xd,yd,x,y;
bool check()
{
    if(CP(xa,ya,xb,yb,xc,yc)*CP(xa,ya,xb,yb,xa+x,ya+y)<0 && CP(xa,ya,xb,yb,xd,yd)*CP(xa,ya,xb,yb,xa+x,ya+y)<0)
       return 0;
     if(CP(xa,ya,xa+x,ya+y,xc,yc)*CP(xb,yb,xb+x,yb+y,xc,yc)<=0 || CP(xa,ya,xa+x,ya+y,xd,yd)*CP(xb,yb,xb+x,yb+y,xd,yd)<=0)
          return 1;
     return 0;
}
int main()
{
    long long n;
    cin>>n;
    for(long long i=1;i<=n;i++)
    {
            cin>>xa>>ya>>xb>>yb>>xc>>yc>>xd>>yd>>x>>y;
            cout<<check();
    }
    
    cout<<endl;
}
