#include<iostream>
#include<cstdio>
#include<cstring>
const int maxn = 250;
using namespace std;

int n,m,a[15][15],va;

void floyd(){
    for(int k = 0 ; k < 10 ; k++){
        for(int i = 0 ; i < 10 ; i++){
            for(int j = 0 ; j < 10 ; j++){
                a[i][j] = min(a[i][j],a[i][k] + a[k][j]);
            }
        }
    }
}

int main(){
    while(~scanf("%d%d",&n,&m)){
        for(int i = 0 ; i < 10 ; i++){
            for(int j = 0 ; j < 10 ; j++){
                scanf("%d",&a[i][j]);
            }
        }
        int sum = 0;
        for(int i = 1 ; i <= n ; i++){
            for(int j = 1 ; j <= m ; j++){
                scanf("%d",&va);
                floyd();
                sum += a[va][1];
            }
        }
        printf("%d\n",sum);
    }
    return 0;
}
