#include #include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, m, c, v, u; ll s = 0; cin >> n >> m >> c; atcoder::mcf_graph g(n + 1); for(int i = 0; i < n; i++){ cin >> v; s += v; g.add_edge(i, i + 1, 1, v); g.add_edge(i + 1, i, 1, v); } while(m--){ cin >> u >> v; u--; g.add_edge(u, v, 1, c); g.add_edge(v, u, 1, c); } cout << s - g.flow(0, n, 1).second << '\n'; }