#include<map>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;

const int oo=2000000000;
const int maxn=15;
const int maxm=100+5;
int f[1<<14][maxm], g[1<<14][maxm];
int xa[maxn], ya[maxn];
int xb[maxm], yb[maxm], t[maxm];
int _xb[maxm], _yb[maxm], _t[maxm];
int n,m, res=0;
vector< pair<int,int> > xxx;
int daa[1<<maxn][maxn], dab[1<<maxn][maxm];
int waa[maxm][maxm], wab[maxm][maxm], wbb[maxm][maxm];

int main()
{
    scanf("%d%d",&n,&m);
    for (int i=0;i<n;i++)
        scanf("%d%d",&xa[i], &ya[i]);
    for (int i=0;i<m;i++)
    {
        scanf("%d%d%d",&_xb[i], &_yb[i], &_t[i]);
        xxx.push_back(make_pair(_t[i], i));
    }
    sort(xxx.begin(), xxx.end());
    for (int i=0;i<m;i++)
    {
        xb[i+1]= _xb[xxx[i].second];
        yb[i+1]= _yb[xxx[i].second];
        t[i+1]= _t[xxx[i].second];
    }
    
    
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<n;j++)
            waa[i][j]=abs(xa[i]-xa[j])+abs(ya[i]-ya[j]);
        for (int j=0;j<=m;j++)
            wab[i][j]=abs(xa[i]-xb[j])+abs(ya[i]-yb[j]);
    }
    for (int i=0;i<=m;i++)
    for (int j=0;j<=m;j++)
        wbb[i][j]=abs(xb[i]-xb[j])+abs(yb[i]-yb[j]);
        
                
    for (int i=0;i<(1<<n);i++)
    {
        for (int j=0;j<n;j++)
        if (i&(1<<j)) daa[i][j]=0;
        else
        {
            daa[i][j]=oo;
            for (int k=0;k<n;k++)
            if (i&(1<<k)) daa[i][j]=min(daa[i][j], waa[j][k]);
        }
        for (int j=0;j<=m;j++)
        {
            dab[i][j]=oo;
            for (int k=0;k<n;k++)
            if (i&(1<<k)) dab[i][j]=min(dab[i][j], wab[k][j]);
        }
    }
    
    for (int i=0;i<(1<<n);i++)
    for (int j=0;j<=m;j++)
    {
        f[i][j]=0;
        g[i][j]=oo;
    }
    for (int i=1;i<=m;i++)
        f[0][i]=1;
    for (int i=0;i<n;i++)
        g[1<<i][0]=0;
    
    
    

    for (int i=0;i<(1<<n);i++)
    for (int j=0;j<=m;j++)
    {
        if (f[i][j])
        {
            res=max(res, f[i][j]);
            for (int k=j+1;k<=m;k++)
            if (t[j]+min(dab[i][k], wbb[j][k])<=t[k])
                f[i][k]=max(f[i][k], f[i][j]+1);
            for (int k=0;k<n;k++)
            if (!(i&(1<<k)))
                g[i+(1<<k)][f[i][j]]=min(g[i+(1<<k)][f[i][j]], t[j]+min(daa[i][k], wab[k][j]));
        }
        if (g[i][j]<oo)
        {
            res=max(res,j);
            for (int k=0;k<n;k++)
            if (!(i&(1<<k)))
                g[i+(1<<k)][j]=min(g[i+(1<<k)][j], g[i][j]+daa[i][k]);
            for (int k=j+1;k<=m;k++)
            if (g[i][j]+dab[i][k]<=t[k])
                f[i][k]=max(f[i][k], j+1);
        }
    }
    printf("%d\n", res);
    
    
        
	return 0;
}