#include <bits/stdc++.h>
using namespace std;

int main()
{
  int D;
  cin >> D;
  vector<long> C(26);
  for (int i = 0; i < 26; i++) cin >> C.at(i);
  vector<vector<long> > S(D, vector<long>(26));
  for (int i = 0; i < D; i++)
  {
    for (int j = 0; j < 26; j++) cin >> S.at(i).at(j);
  }
  vector<int> T(D);
  for (int i = 0; i < D; i++) cin >> T.at(i);
  vector<int> ans(D+1, 0);
  vector<int> last(26, 0);
  for (int i = 1; i < D+1; i++)
  {
    ans.at(i) += ans.at(i-1);
    last.at(T.at(i-1)-1) = i;
    for (int j = 0; j < 26; j++)
    {
      if (j == T.at(i-1)-1) ans.at(i) += S.at(i-1).at(T.at(i-1)-1);
      else ans.at(i) -= C.at(j) * (i - last.at(j));
    }
    cout << ans.at(i) << endl;
  }
}
