#include<bits/stdc++.h>
#define el cout<<"\n"
#define SZ(x) (x).begin(),(x).end()
#define BIT(x,i) (((x)>>(i))&1LL)
#define int long long
#define MASK(i) (1LL<<(i))
using namespace std;
typedef long long ll;
const int N=1e5 + 7;
ll INF=1e18+7;
int a[N];
ll C[105][105],color[505][505],f[N];
ll dpfull[N][105],pre[N][105];
int n,T,K;
void subfull(){
for(int i=1;i<=n;i++){
for(int j=1;j<=T;j++){
dpfull[i][j]=INF;
}
f[i]=INF;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=T;j++){
pre[i][j]=pre[i-1][j]+C[a[i]][j];
}
}
for(int i=K;i<=n;i++){
for(int j=1;j<=T;j++){
dpfull[i][j]=min(dpfull[i-1][j]+C[a[i]][j],f[i-K]+pre[i][j]-pre[i-K][j]);
f[i]=min(dpfull[i][j],f[i]);
}
}
cout<<f[n];
}
void ip(){
cin>>n>>K>>T;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=T;i++){
for(int j=1;j<=T;j++){
cin>>C[i][j];
if(i==j) C[i][j]=0;
}
}
for(int i=1;i<=T;i++){
for(int j=1;j<=T;j++){
for(int k=1;k<=T;k++){
C[i][j]=min(C[i][j],C[i][k]+C[k][j]);
}
}
}
subfull();
}
signed main(){
// freopen("test.inp","r",stdin);
// freopen("test.out","w",stdout);
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
ip();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBlbCBjb3V0PDwiXG4iCiNkZWZpbmUgU1ooeCkgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgQklUKHgsaSkgKCgoeCk+PihpKSkmMUxMKQojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBNQVNLKGkpICAoMUxMPDwoaSkpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTj0xZTUgKyA3OwpsbCBJTkY9MWUxOCs3OwppbnQgYVtOXTsKbGwgQ1sxMDVdWzEwNV0sY29sb3JbNTA1XVs1MDVdLGZbTl07CmxsIGRwZnVsbFtOXVsxMDVdLHByZVtOXVsxMDVdOwppbnQgbixULEs7Cgp2b2lkIHN1YmZ1bGwoKXsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICBmb3IoaW50IGo9MTtqPD1UO2orKyl7CiAgICAgICAgICAgIGRwZnVsbFtpXVtqXT1JTkY7CiAgICAgICAgfQogICAgICAgIGZbaV09SU5GOwogICAgfQogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgIGZvcihpbnQgaj0xO2o8PVQ7aisrKXsKICAgICAgICAgICAgcHJlW2ldW2pdPXByZVtpLTFdW2pdK0NbYVtpXV1bal07CiAgICAgICAgfQogICAgfQogICAgZm9yKGludCBpPUs7aTw9bjtpKyspewogICAgICAgIGZvcihpbnQgaj0xO2o8PVQ7aisrKXsKICAgICAgICAgICAgZHBmdWxsW2ldW2pdPW1pbihkcGZ1bGxbaS0xXVtqXStDW2FbaV1dW2pdLGZbaS1LXStwcmVbaV1bal0tcHJlW2ktS11bal0pOwogICAgICAgICAgICBmW2ldPW1pbihkcGZ1bGxbaV1bal0sZltpXSk7CiAgICAgICAgfQogICAgfQogICAgY291dDw8ZltuXTsKfQp2b2lkIGlwKCl7CiAgICBjaW4+Pm4+Pks+PlQ7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgY2luPj5hW2ldOwogICAgfQogICAgZm9yKGludCBpPTE7aTw9VDtpKyspewogICAgICAgIGZvcihpbnQgaj0xO2o8PVQ7aisrKXsKICAgICAgICAgICAgY2luPj5DW2ldW2pdOwogICAgICAgICAgICBpZihpPT1qKSBDW2ldW2pdPTA7CiAgICAgICAgfQogICAgfQogICAgZm9yKGludCBpPTE7aTw9VDtpKyspewogICAgICAgIGZvcihpbnQgaj0xO2o8PVQ7aisrKXsKICAgICAgICAgICAgZm9yKGludCBrPTE7azw9VDtrKyspewogICAgICAgICAgICAgICAgQ1tpXVtqXT1taW4oQ1tpXVtqXSxDW2ldW2tdK0Nba11bal0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHN1YmZ1bGwoKTsKfQpzaWduZWQgbWFpbigpewovLyAgICBmcmVvcGVuKCJ0ZXN0LmlucCIsInIiLHN0ZGluKTsKLy8gICAgZnJlb3BlbigidGVzdC5vdXQiLCJ3IixzdGRvdXQpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7Y291dC50aWUoMCk7CiAgICBpcCgpOwogICAgcmV0dXJuIDA7Cn0K