ll@N,@P[N],@M,@(U--,V--)[M],@K,@(A--,B--,S)[K],t=0,s=ll_inf; 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])); F.addEdge(V[0...M-1],U[0...M-1],s); rep(i,K)F.addEdge(N+2+i,A[i],s),F.addEdge(N+2+i,B[i],s),t+=S[i],F.addEdge(N,N+2+i,S[i]); wt(t-F.solve(N,N+1));