ll@N,@P[N],@M,@(U--,V--)[M],@K,@(A--,B--,S)[K],t=0; maxflowF; F.malloc(N+K+2),F.init(N+K+2); rep(i,N)(P[i]>=0?t+=P[i],F.addEdge(N,i,P[i]):F.addEdge(i,N+1,-P[i])); rep(i,M)F.addEdge(V[i],U[i],ll_inf); rep(i,K)F.addEdge(N+2+i,A[i],ll_inf),F.addEdge(N+2+i,B[i],ll_inf),t+=S[i],F.addEdge(N,N+2+i,S[i]); wt(t-F.solve(N,N+1));