#include <iostream>
#include <cstdio>
using namespace std;
const int maxn=10;
int e[maxn][maxn];

void floyed()
{
	for(int k=0;k<maxn;k++)
	{
		for(int i=0;i<maxn;i++)
		{
			for(int j=0;j<maxn;j++)
			{
				e[i][j]=min(e[i][j],e[i][k]+e[k][j]);
			}
		}
	}
}

int main()
{
	int H,W,i,j;
	int temp,num;
	while(~scanf("%d %d",&H,&W))
	{
		num=0;
		for(i=0;i<maxn;i++)
		{
			for(j=0;j<maxn;j++)
				scanf("%d",&e[i][j]);
		}
		floyed();
		for(i=0;i<H;i++)
		{
			for(j=0;j<W;j++)
			{
				scanf("%d",&temp);
				if(temp==1 || temp==-1)
					continue;
				num += e[temp][1];	
			}
		}
		printf("%d\n",num);
	}
	return 0;
}