#include<bits/stdc++.h>
#define delta_x ((double)(where[i][1]-where[j][1]))
#define delta_y ((double)(where[i][2]-where[j][2]))
#define maxn 1051
using namespace std;
map<string,int>pp;
int n,kk;
int delta;
int w[maxn][maxn<<1];
int f[maxn<<1];
int to[maxn];
int where[maxn][3];
struct check{
double k;double dis;
}meet[maxn][maxn];
bool used[maxn<<1];
bool doit(int p){
used[p]=1;
for(int i=n+1;i<=n+n;i++)
if(!used[i]){
if(f[p]+f[i]==w[p][i]){
used[i]=1;
if(!to[i]||doit(to[i])){
to[i]=p;
return 1;
}
}
else delta=min(delta,f[p]+f[i]-w[p][i]);
}
return 0;
}
string Lower(char* temp){
for(int i=0;i<strlen(temp);i++)
if(temp[i]>='A'&&temp[i]<='Z')temp[i]-='A'-'a';
return temp;
}
void init(){
char temp[21];
char ttemp[21];
scanf("%d%d",&kk,&n);
for(int i=1;i<=n+n;i++){
scanf("%d%d%s",&where[i][1],&where[i][2],temp);
pp[Lower(temp)]=i;
}
while(1){
scanf("%s",temp);
if(temp[0]=='E'&&temp[1]=='n'&&temp[2]=='d'&&!temp[3])
break;
scanf("%s",ttemp);scanf("%d",&w[min(pp[Lower(temp)],pp[Lower(ttemp)])][max(pp[Lower(temp)],pp[Lower(ttemp)])]);
}
for(int i=1;i<=n;i++)
for(int j=n+1;j<=n+n;j++)
if(!w[i][j])w[i][j]=1;
}
void pre(){
for(int i=1;i<=n;i++)
for(int j=n+1;j<=n+n;j++){
meet[i][j].k=(delta_y+0.5)/(delta_x+0.5);
meet[i][j].dis=sqrt(delta_x*delta_x+delta_y*delta_y);
if(meet[i][j].dis>(double)kk)w[i][j]=0;
if(delta_x<0)meet[i][j].dis*=-1;
// printf("%d %d %lf %lf\n",i,j,meet[i][j].k,meet[i][j].dis);
}
for(int i=1;i<=n;i++)
for(int j=n+1;j<=n+n;j++)
for(int k=j+1;k<=n+n;k++)
if(meet[i][j].k==meet[i][k].k&&meet[i][j].dis/meet[i][k].dis>0){
if(abs(meet[i][j].k)>abs(meet[i][k].k))w[i][j]=0;
else w[i][k]=0;
}
}
main(){
init();
pre();
// for(int i=1;i<=n;i++){
// for(int j=n+1;j<=n+n;j++)
// printf("%d ",w[i][j]);
// printf("\n");
// }
int ans=0;
for(int i=1;i<=n;i++)
for(int j=n+1;j<=n+n;j++)
f[i]=max(f[i],w[i][j]);
for(int i=1;i<=n;i++){
while(1){
memset(used,0,sizeof(used));
delta=INT_MAX;
if(doit(i))break;
// printf("%d\n",delta);
for(int j=1;j<=n;j++)
if(used[j])f[j]-=delta;
for(int j=n+1;j<=n+n;j++)
if(used[j])f[j]+=delta;
}
}
for(int i=1;i<=n+n;i++)
ans+=f[i];
printf("%d",ans);
}