//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx")
//#pragma GCC target("avx,tune=native")
// Anand Jaisingh
#include<bits/stdc++.h>
using namespace std;
typedef complex<double> base;
typedef long double ld;
typedef long long ll;
#define pb push_back
#define pii pair<int,int>
#define pll pair< ll , ll >
#define vi vector<int>
#define vvi vector< vi >
const int maxn=(int)(1e3+5),zz=(int)(1e6+6);
const ll mod=(ll)(1e9+7);
int a[maxn];
ld x[maxn],y[maxn],r[maxn];
int res[zz];
void update(ld low,ld high)
{
int xx=(int)ceil(low),yy=(int)floor(high);
if(xx<zz)
{
res[xx]++;
}
if(yy+1<zz)
{
res[yy+1]--;
}
}
ld dis(ld x1,ld y1,ld x2,ld y2)
{
ld val1=(x1-x2)*(x1-x2),val2=(y1-y2)*(y1-y2);
return sqrt(val1+val2);
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
int n,q;cin>>n>>q;
for(int i=0;i<n;i++)
{
cin>>x[i]>>y[i]>>r[i];
}
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
ld curr1=dis(x[i],y[i],x[j],y[j]),curr2=r[i]+r[j];
if(curr1>curr2)
{
ld min=curr1-r[i]-r[j],max=curr1+r[i]+r[j];
update(min,max);
}
else
{
ld now=abs(r[i]-r[j])-curr1;
if(now>=0)
{
// one inside the other...
ld min=now,max=curr1+r[i]+r[j];
update(min,max);
}
else
{
ld min=0,max=curr1+r[i]+r[j];
update(min,max);
}
}
}
}
for(int i=1;i<zz;i++)
{
res[i]+=res[i-1];
}
while(q>0)
{
int k;cin>>k;
cout<<res[k]<<endl;
q--;
}
return 0;
}
ICAgIC8vI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0LG5vLXN0YWNrLXByb3RlY3RvciIpCiAgICAvLyNwcmFnbWEgR0NDIHRhcmdldCgic3NlLHNzZTIsc3NlMyxzc3NlMyxzc2U0LHBvcGNudCxhYm0sbW14IikKICAgIC8vI3ByYWdtYSBHQ0MgdGFyZ2V0KCJhdngsdHVuZT1uYXRpdmUiKQogICAgLy8gQW5hbmQgSmFpc2luZ2gKICAgICAKICAgICNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiAgICAgCiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgIAogICAgdHlwZWRlZiBjb21wbGV4PGRvdWJsZT4gYmFzZTsKICAgIHR5cGVkZWYgbG9uZyBkb3VibGUgbGQ7CiAgICB0eXBlZGVmIGxvbmcgbG9uZyBsbDsKICAgICAKICAgICNkZWZpbmUgcGIgcHVzaF9iYWNrCiAgICAjZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiAgICAjZGVmaW5lIHBsbCBwYWlyPCBsbCAsIGxsID4KICAgICNkZWZpbmUgdmkgdmVjdG9yPGludD4KICAgICNkZWZpbmUgdnZpIHZlY3RvcjwgdmkgPgogICAgIAogICAgY29uc3QgaW50IG1heG49KGludCkoMWUzKzUpLHp6PShpbnQpKDFlNis2KTsKICAgIGNvbnN0IGxsIG1vZD0obGwpKDFlOSs3KTsKICAgIGludCBhW21heG5dOwogICAgbGQgeFttYXhuXSx5W21heG5dLHJbbWF4bl07CiAgICBpbnQgcmVzW3p6XTsKICAgICAKICAgIHZvaWQgdXBkYXRlKGxkIGxvdyxsZCBoaWdoKQogICAgewogICAgICAgIGludCB4eD0oaW50KWNlaWwobG93KSx5eT0oaW50KWZsb29yKGhpZ2gpOwogICAgIAogICAgICAgIGlmKHh4PHp6KQogICAgICAgIHsKICAgICAgICAgICAgcmVzW3h4XSsrOwogICAgICAgIH0KICAgICAKICAgICAgICBpZih5eSsxPHp6KQogICAgICAgIHsKICAgICAgICAgICAgcmVzW3l5KzFdLS07CiAgICAgICAgfQogICAgfQogICAgIAogICAgbGQgZGlzKGxkIHgxLGxkIHkxLGxkIHgyLGxkIHkyKQogICAgewogICAgICAgIGxkIHZhbDE9KHgxLXgyKSooeDEteDIpLHZhbDI9KHkxLXkyKSooeTEteTIpOwogICAgIAogICAgICAgIHJldHVybiBzcXJ0KHZhbDErdmFsMik7CiAgICB9CiAgICAgCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApOwogICAgIAogICAgICAgIGludCBuLHE7Y2luPj5uPj5xOwogICAgIAogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBjaW4+PnhbaV0+PnlbaV0+PnJbaV07CiAgICAgICAgfQogICAgIAogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGo9aSsxO2o8bjtqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxkIGN1cnIxPWRpcyh4W2ldLHlbaV0seFtqXSx5W2pdKSxjdXJyMj1yW2ldK3Jbal07CiAgICAgCiAgICAgICAgICAgICAgICBpZihjdXJyMT5jdXJyMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBsZCBtaW49Y3VycjEtcltpXS1yW2pdLG1heD1jdXJyMStyW2ldK3Jbal07CiAgICAgCiAgICAgICAgICAgICAgICAgICAgdXBkYXRlKG1pbixtYXgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGxkIG5vdz1hYnMocltpXS1yW2pdKS1jdXJyMTsKICAgICAKICAgICAgICAgICAgICAgICAgICBpZihub3c+PTApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmUgaW5zaWRlIHRoZSBvdGhlci4uLgogICAgIAogICAgICAgICAgICAgICAgICAgICAgICBsZCBtaW49bm93LG1heD1jdXJyMStyW2ldK3Jbal07CiAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZShtaW4sbWF4KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgCiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGQgbWluPTAsbWF4PWN1cnIxK3JbaV0rcltqXTsKICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlKG1pbixtYXgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAKICAgICAgICBmb3IoaW50IGk9MTtpPHp6O2krKykKICAgICAgICB7CiAgICAgICAgICAgIHJlc1tpXSs9cmVzW2ktMV07CiAgICAgICAgfQogICAgIAogICAgICAgIHdoaWxlKHE+MCkKICAgICAgICB7CiAgICAgICAgICAgIGludCBrO2Npbj4+azsKICAgICAKICAgICAgICAgICAgY291dDw8cmVzW2tdPDxlbmRsOwogICAgIAogICAgICAgICAgICBxLS07CiAgICAgICAgfQogICAgIAogICAgICAgIHJldHVybiAwOwogICAgfQogICAgIA==