#include <stdio.h>
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace atcoder;
using mint = modint998244353;
using namespace std;
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define Inf32 1000000001
#define Inf64 1000000000000000001


int main(){
	
	int K,N,M;
	cin>>K>>N>>M;
	mcf_graph<long long,long long> G(N+2);
	int S = N;
	int T = N+1;
	rep(i,K){
		long long a;
		cin>>a;
		a--;
		G.add_edge(S,a,1,0);
	}
	rep(i,N){
		long long a;
		cin>>a;
		G.add_edge(i,T,a,0);
	}
	rep(i,M){
		long long a,b,c;
		cin>>a>>b>>c;
		a--,b--;
		G.add_edge(a,b,K,c);
		G.add_edge(b,a,K,c);
	}
	cout<<G.flow(S,T,K).second<<endl;
	
	return 0;
}