use ac_library::MfGraph; use proconio::{input, marker::Usize1}; fn main() { input! { n: usize, m: usize, ab: [(i64, i64); n], uvc: [(Usize1, Usize1, i64); m], } let mut graph = MfGraph::new(n + 2); let (src, sink) = (n, n + 1); let mut ans = 0; for (i, &(a, b)) in ab.iter().enumerate() { ans += a + b; graph.add_edge(src, i, a); graph.add_edge(i, sink, b); } for &(u, v, c) in &uvc { graph.add_edge(u, v, c); graph.add_edge(v, u, c); } ans -= graph.flow(src, sink); println!("{ans}"); }