#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-10;
const long long LINF = 1001002003004005006ll;
const int INF = 1001001001;
const int MX = 200005;
long long gcd(long long n, long long m) {
  if (n == 0) return m;
  return gcd(m % n, n);
}
long long fast_exp(long long n, long long k) {
  if (k == 0) return 1;
  if (k == 1) return n;
  long long temp = fast_exp(n, k >> 1);
  if ((k & 1) == 1) return (n * temp * temp) % 1000000007;
  return (temp * temp) % 1000000007;
}
int main() {
  long long t;
  cin >> t;
  vector<long long> vec(t);
  long long tmp = 9999999999;
  long long count = 0;
  for (long long cur, i = 0; i < t; ++i) {
    cin >> cur;
    vec[i] = cur;
    if (cur == tmp + 1) count++;
    tmp = cur;
  }
  long long sum = 0;
  vector<long long> vec2(t);
  for (long long i = 0; i < t; ++i) {
    cin >> vec2[i];
  }
  vector<long long> cc(t - 1);
  for (int i = 0; i < t - 1; ++i) {
    cin >> cc[i];
  }
  for (int i = 0; i < t; ++i) {
    sum += vec2[vec[i] - 1];
  }
  for (int i = 0; i < count; ++i) {
    sum += cc[i];
  }
  cout << sum;
  return 0;
}
