#include #include using namespace atcoder; #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using ll = long long; int main() { int n, m; cin >> n >> m; mcf_graph g(n); rep(i, m) { int u, v, c, d; cin >> u >> v >> c >> d; --u; --v; g.add_edge(u, v, 1, c); g.add_edge(u, v, 1, d); g.add_edge(v, u, 1, c); g.add_edge(v, u, 1, d); } auto f = g.flow(0, n-1, 2); cout << f.second << '\n'; return 0; }