올란드가 무너져서는 안 된다

병원들의 보유량과 필요량, 그리고 비용이 1인 무향 터널 그래프가 주어질 때 모든 병원을 정확히 맞추는 최소 이동 비용을 구하고 불가능하면 -1을 출력한다.

보통6그래프BFS그리디구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

사악한 미니오퍼 제6군이 올란디카를 침공한 지 한 달이 지났다. 미니오퍼 병력은 올란디카 서부의 요충지 올란드 전역에 퍼져 있고, 민간인 피해가 크다. 올란드 사람들은 아직 병원 몇 곳을 지키고 있지만, 미니오퍼가 쓰는 생물 무기의 피해를 치료하는 약 우노핀이 모자란다. 그래서 올란드 사람들은 병원 사이를 잇는 땅굴을 여러 개 팠다. 땅굴로 이어진 두 병원 사이에서는 우노핀 팩을 옮길 수 있다. 땅굴이 좁아서 한 번에 한 팩씩만 지나가지만, 같은 땅굴은 몇 번이든 다시 쓸 수 있다.

하루 세 번, 각 병원은 작전 본부에 지금 보관 중인 팩 수와 필요한 팩 수를 알린다. 본부는 모든 병원의 보유량을 필요량과 정확히 일치시키는 분배 계획을 세운다. 계획의 비용은 땅굴을 지나간 팩을 모두 센 값이다. 한 팩이 땅굴 두 개를 거쳐 가면 비용은 22다.

예를 들어 병원 A, B, C가 각각 33, 22, 33팩을 보관하고 있고 A와 B 사이, B와 C 사이에 땅굴이 있다고 하자. 필요량이 각각 44, 33, 11팩이라면 B에서 A로 한 팩을 옮기고 C에서 B로 두 팩을 옮기면 된다. 이 계획의 비용은 33이다.

땅굴과 각 병원의 보관량, 필요량이 주어질 때 모든 병원의 보유량을 필요량과 일치시키는 분배 계획의 최소 비용을 구하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다 (1T311 \le T \le 31).

각 테스트 케이스의 첫 줄에는 병원의 수 LL과 땅굴의 수 RR이 주어진다 (1L,R1281 \le L, R \le 128). 병원에는 11번부터 LL번까지 번호가 붙어 있다.

다음 LL개 줄 중 ii번째 줄에는 ii번 병원이 보관 중인 팩 수 sis_i와 필요한 팩 수 nin_i가 주어진다 (0si,ni100000 \le s_i, n_i \le 10000).

다음 RR개 줄에는 각각 두 정수 iijj가 주어지며, ii번 병원과 jj번 병원을 잇는 땅굴이 있다는 뜻이다 (1i,jL1 \le i, j \le L). 같은 두 병원을 잇는 땅굴이 여러 개일 수 있고, iijj가 같을 수도 있다.

출력

각 테스트 케이스마다 분배 계획의 최소 비용을 한 줄에 출력한다. 모든 병원의 보유량을 필요량과 일치시키는 계획이 없으면 1-1을 출력한다.