#include <bits/stdc++.h>
using namespace std;
const int MAXN=100010;
const int INF=1<<30;
int N,M,K,A[MAXN],B[MAXN];
int main()
{
	int Ans=INF;
	cin>>N>>M>>K;
	for (int i=1;i<=N;++i) scanf("%d",&A[i]);
	for (int i=1;i<=M;++i) scanf("%d",&B[i]);
	for (int i=1;i<=K;++i)
	{
		int c,x,y;
		scanf("%d%d%d",&x,&y,&c);
		Ans=min(Ans,A[x]+B[y]-c);
	}
	sort(A+1,A+1+N);
	sort(B+1,B+1+M);
	Ans=min(Ans,A[1]+B[1]);
	cout<<Ans<<endl;
	return 0;
}