올란드가 무너져서는 안 된다
면접 대비시간 제한2초메모리 제한512 MB
병원들의 보유량과 필요량, 그리고 비용이 1인 무향 터널 그래프가 주어질 때 모든 병원을 정확히 맞추는 최소 이동 비용을 구하고 불가능하면 -1을 출력한다.
문제
사악한 미니오퍼 제6군이 올란디카를 침공한 지 한 달이 지났다. 미니오퍼 병력은 올란디카 서부의 요충지 올란드 전역에 퍼져 있고, 민간인 피해가 크다. 올란드 사람들은 아직 병원 몇 곳을 지키고 있지만, 미니오퍼가 쓰는 생물 무기의 피해를 치료하는 약 우노핀이 모자란다. 그래서 올란드 사람들은 병원 사이를 잇는 땅굴을 여러 개 팠다. 땅굴로 이어진 두 병원 사이에서는 우노핀 팩을 옮길 수 있다. 땅굴이 좁아서 한 번에 한 팩씩만 지나가지만, 같은 땅굴은 몇 번이든 다시 쓸 수 있다.
하루 세 번, 각 병원은 작전 본부에 지금 보관 중인 팩 수와 필요한 팩 수를 알린다. 본부는 모든 병원의 보유량을 필요량과 정확히 일치시키는 분배 계획을 세운다. 계획의 비용은 땅굴을 지나간 팩을 모두 센 값이다. 한 팩이 땅굴 두 개를 거쳐 가면 비용은 다.
예를 들어 병원 A, B, C가 각각 , , 팩을 보관하고 있고 A와 B 사이, B와 C 사이에 땅굴이 있다고 하자. 필요량이 각각 , , 팩이라면 B에서 A로 한 팩을 옮기고 C에서 B로 두 팩을 옮기면 된다. 이 계획의 비용은 이다.
땅굴과 각 병원의 보관량, 필요량이 주어질 때 모든 병원의 보유량을 필요량과 일치시키는 분배 계획의 최소 비용을 구하라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다 ().
각 테스트 케이스의 첫 줄에는 병원의 수 과 땅굴의 수 이 주어진다 (). 병원에는 번부터 번까지 번호가 붙어 있다.
다음 개 줄 중 번째 줄에는 번 병원이 보관 중인 팩 수 와 필요한 팩 수 가 주어진다 ().
다음 개 줄에는 각각 두 정수 와 가 주어지며, 번 병원과 번 병원을 잇는 땅굴이 있다는 뜻이다 (). 같은 두 병원을 잇는 땅굴이 여러 개일 수 있고, 와 가 같을 수도 있다.
출력
각 테스트 케이스마다 분배 계획의 최소 비용을 한 줄에 출력한다. 모든 병원의 보유량을 필요량과 일치시키는 계획이 없으면 을 출력한다.