#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 #define sq 1300 int main(){ int n,m,c; cin>>n>>m>>c; mcf_graph G(n+1); long long ans = 0; rep(i,n){ int a; cin>>a; ans += a; G.add_edge(i,i+1,1,a); G.add_edge(i+1,i,1,a); } rep(i,m){ int l,r; cin>>l>>r; l--; G.add_edge(l,r,1,c); G.add_edge(r,l,1,c); } ans -= G.flow(0,n,1).second; //ans *= -1; cout<