#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
using namespace std;
 
const double EPS = 1E-7;
int x,y,z,vx,vy,vz;
double bt[100001];
double et[100001];
int main()
{
    int n,r;
        cin>>n>>r;
        for (int i=0;i<n;i++)
        {
                scanf("%d%d%d",&x,&y,&z);
                scanf("%d%d%d",&vx,&vy,&vz);
                double c = 1.0*x*x+1.0*y*y+1.0*z*z-1.0*r*r;
                double b = 2.0*x*vx+2.0*y*vy+2.0*z*vz;
                double a = 1.0*vx*vx+1.0*vy*vy+1.0*vz*vz;
                double d = b*b - 4 * a * c;
                if (d>-EPS && d<0)
                {
                        d = 0;
                }
                if (d<0)
                        bt[i] = et[i] = 1E100;
                else
                {
                        bt[i] = (-b - sqrt(d))/(2*a) - EPS;
                        et[i] = (-b + sqrt(d))/(2*a) + EPS;
                }
        }
        sort(bt,bt+n);
        sort(et,et+n);
 
        int m;
        cin>>m;
        int t;
        for (int i=0;i<m;i++)
        {
                cin>>t;
                int bc = lower_bound(bt,bt+n,(double)t) - bt;
                int ec = lower_bound(et,et+n,(double)t) - et;
                cout<<bc-ec<<endl;
        }
 
        return 0;
}
 