#include<bits/stdc++.h>
using namespace std;
long long adjcency[505][505];
bool book[505];
inline void Floyd_Warshall(int);
int fsum(int);
int main()
{
int n,k;
cin >> n;
for(register int i=1;i<=n;i++)
for(register int j=1;j<=n;j++)
cin >> adjcency[i][j];
for(register int i=1;i<=n;i++)
{
cin >> k;
Floyd_Warshall(n);
cout << fsum(n) << " ";
book[k]=true;
}
return 0;
}
int fsum(int n)
{
int sum=0;
for(register int i=1;i<=n&&(!book[i]);i++)
for(register int j=1;j<=n&&(!book[j]);j++)
sum+=adjcency[i][j];
return sum;
}
inline void Floyd_Warshall(int n)
{
for(register int t=1;t<=n&&(!book[t]);t++)
for(register int i=1;i<=n&&(!book[i]);i++)
for(register int j=1;j<=n&&(!book[j]);j++)
adjcency[i][j]=min(adjcency[i][j],adjcency[i][t]+adjcency[t][j]);
}
有那位神犇愿意拯救我这个小蒟蒻(感激涕零)