#include using namespace std; using ll=long long; #include using atcoder::mf_graph; int main(){ int n; cin>>n; vector p(n); for(int i=0;i>p[i]; mf_graph graph(n+202); ll ans=0; for(int i=0;i=0){ ans+=p[i]; graph.add_edge(n,i,p[i]); }else{ graph.add_edge(i,n+1,-p[i]); } } ll inf=1e18; int m; cin>>m; for(int i=0;i>u>>v; u--;v--; graph.add_edge(v,u,inf); } int k; cin>>k; for(int i=0;i>a>>b>>s; a--;b--; ans+=s; graph.add_edge(n,n+2+i,s); graph.add_edge(n+2+i,a,inf); graph.add_edge(n+2+i,b,inf); } cout<