50 50
75 71 23 37 28 23 69 75 5 62 3 11 96 100 13 50 57 51 8 90 4 6 84 27 11 89 95 81 10 62 48 52 69 87 97 95 30 74 21 42 36 64 31 80 81 50 56 53 33 99
26 30 5 33 35 29 6 15 36 17 32 16 14 1 29 34 22 40 12 42 38 48 39 50 13 47 18 43 10 8 49 45 11 31 21 37 46 28 20 41 2 7 9 24 27 23 3 44 15 14
 10 10
61 59 97 16 2 94 57 48 91 93
2 8 6 5 3 1 3 4 9 10
 2 1
1 2
1
 3 3
10 20 30
1 2 3
 50 60
86 57 45 93 17 12 40 10 47 80 18 80 3 9 6 55 13 99 5 76 4 70 100 55 27 91 71 3 65 93 41 74 80 56 90 50 58 13 71 9 47 52 26 73 72 21 15 81 88 28
40 32 5 16 49 23 3 17 14 10 1 15 1 21 28 22 13 45 12 25 44 48 46 32 36 43 11 8 49 7 7 35 10 14 39 4 42 10 30 27 1 17 31 15 8 41 44 33 25 26 19 18 29 37 50 6 36 38 47 9
 2 7
20 30
1 1 1 2 2 2 2
 2 2
10 12
2 1
 5 1
16 87 36 16 81
3
 2 3
20 30
1 1 1
 2 10
39 26
1 1 2 2 2 2 2 2 1 2

63929
 2137
 0
 40
 62514
 20
 12
 0
 0
 104

#include <bits/stdc++.h>
using namespace std;
template <class T>
bool Maximize(T &v, T nv) {
  if (nv > v) return v = nv, 1;
  return 0;
}
template <class T>
bool Minimize(T &v, T nv) {
  if (nv < v) return v = nv, 1;
  return 0;
}
template <class T>
T Mod(T &v, T mod) {
  return v = (v % mod + mod) % mod;
}
const long long INFLL = numeric_limits<long long>::max();
const long INF = numeric_limits<long>::max(), N = 501, M = 1001;
const long di[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
long w[N], a[M];
bool u[N];
bool cmp(long a, long b) { return w[a] < w[b]; }
void solve() {
  long n, m;
  scanf("%ld %ld", &n, &m);
  for (long i = 1; i <= n; ++i) scanf("%ld", w + i);
  deque<long> s;
  for (long i = 0; i < m; ++i) {
    scanf("%ld", a + i);
    if (!u[a[i]]) s.push_back(a[i]), u[a[i]] = 1;
    ;
  }
  vector<long> ss;
  for (long i = 1; i <= n; ++i) {
    if (!u[i]) ss.push_back(i);
  }
  sort((ss).begin(), (ss).end(), cmp);
  s.insert(s.end(), (ss).begin(), (ss).end());
  long ans = 0;
  for (long i = 0; i < m; ++i) {
    long j;
    for (j = 0; s[j] != a[i]; ++j) {
      ans += w[s[j]];
    }
    s.erase(s.begin() + j);
    s.push_front(a[i]);
  }
  printf("%ld\n", ans);
}
void init() {}
int main() {
  init();
  solve();
  return 0;
}
