/******************************************
* AUTHOR : GEEOTHERMAL/CODEFORCES
  USED BY : Shivam Jalotra
  COLLEGE : Nit Kurukshetra
******************************************/
#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>
 
using namespace std;
using namespace __gnu_pbds;
 
typedef long long ll;
typedef long double ld;
typedef complex<ld> cd;
 
typedef pair<int, int> pi;
typedef pair<ll,ll> pl;
typedef pair<ld,ld> pd;
 
typedef vector<int> vi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
typedef vector<cd> vcd;
 
template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>;
 
#define FOR(i, a, b) for (int i=a; i<(b); i++)
#define F0R(i, a) for (int i=0; i<(a); i++)
#define FORd(i,a,b) for (int i = (b)-1; i >= a; i--)
#define F0Rd(i,a) for (int i = (a)-1; i >= 0; i--)
 
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define f first
#define s second
#define lb lower_bound
#define ub upper_bound
#define all(x) x.begin(), x.end()
 
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
 
const int MOD = 1000000007;
const ll INF = 1e18;
const int MX = 100001; //check the limits, dummy
int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);    
	
	// Create a mutimap that stores the dish-number and then B(i) and C(i) respectively 
	// Then go through that map and if key+1 just comes after key 
	// Add the value of ci to the sum 
	//Else  just add the value of Bi to the map 

	// But since I don't know maps right now
	// Lets do it with vector

	// Take in inputs
	int N;
	vector<int>A(N), B(N),C(N-1); 
	cin >> N;
	
	int number;
	for(int i=0 ; i < N; i++){
		cin >> number;
		A[i] = number;
	}
	for(int i=0 ; i < N; i++){
		cin >>number;
		B[i] = number;
	}
	for(int i=0 ; i < N-1; i++){
		cin >> number;
		C[i] = number;
	}


	// Main Algorithm starts
	int sum = 0;
	for(int i = 0; i < N ; i++){
		sum += B[A[i]-1];
		if(A[i] == A[i-1] + 1){
			sum += C[A[i-1]-1];
		
			// cout << sum << endl;
		}
		

	}

	cout << sum; 

	return 0;
}