#define MAX 100
typedef struct
{
char vex[MAX];
int arc[MAX][MAX];
int vexnum,arsnum;
}M;
int locatevex(M*G,char u)
{
int i;
for(i=0;i<G->vexnum;++i)
{
if(G->vex[i]==u)
return i;
else
return -1;
}
}
void creat(M*G)
{
int i,j,k,w;
char v1,v2;
scanf("%d %d",&(G->vexnum),&(G->arsnum));
getchar();
for(i=0;i<G->vexnum;i++)
scanf("%c",&(G->vex[i]));
getchar();
for(i=0;i<G->vexnum;i++)
for(j=0;j<G->vexnum;j++)
G->arc[i][j]=0;
for(k=0;k<G->arsnum;k++)
{
scanf("%c%c%d",&v1,&v2,&w);
getchar();
printf(w);
i=locatevex(&G,v1);
j=locatevex(&G,v2);
if((i==-1)||(j==-1))
{
}
else
{
G->arc[i][j]=w;
G->arc[j][i]=w;
}
}
int locatevex(M*G,char u)
{
int i;
for(i=0;i<G->vexnum;++i)
{
if(G->vex[i]==u)
return i;
else
return -1;
}
}
}
int main()
{
M G;
int i,j;
creat(&G);
printf("sgshg");
for(i=0;i<G.vexnum;i++)
{
for(j=0;j<G.vexnum;j++)
{
printf("kjsggs");
printf( G.arc[i][j]);
}
}
}