영웅은 죽지 않아요
시간 제한2초메모리 제한512 MB
되살릴 영웅의 부분집합을 골라 양 끝이 모두 선택된 결속의 보상을 얻고, 보상 합에서 부활 비용을 뺀 값이 최대가 되게 한다.
문제
모든 영웅이 쓰러지자 메르시가 말한다. "영웅은 죽지 않아요."
영웅 를 부활시키려면 에너지 가 든다. 영웅 사이에는 관계가 있을 수 있고, 관계로 이어진 두 영웅이 함께 부활하면 그 관계에서 에너지 를 돌려받는다.
메르시가 영웅 명()을 부활시키면, 두 영웅이 모두 부활한 관계에서 돌려받는 에너지의 합에서 부활에 쓴 에너지의 합을 뺀 만큼 에너지를 얻는다. 메르시가 얻을 수 있는 에너지의 최댓값을 구하라.
도 고르는 방법이므로 답은 항상 0 이상이다.
입력
첫째 줄에 영웅의 수 ()과 관계의 수 ()이 공백을 두고 주어진다.
둘째 줄에 각 영웅을 부활시키는 데 드는 에너지 이 주어진다.
셋째 줄부터 개 줄에 관계가 한 줄에 하나씩 형식으로 주어진다. 와 는 1 이상 이하의 서로 다른 영웅 번호이고, 같은 쌍이 여러 관계로 주어질 수도 있다. 와 는 모두 0 이상 100 이하의 정수이다.
출력
메르시가 얻을 수 있는 에너지의 최댓값을 한 줄에 출력한다.