#2432. 道路建设

道路建设

Description

NN 个村庄,编号为1N1~N ,需要建造一 些道路,使每两个村庄之间都可以相互连接。两个村庄AABB是相连的, 当且仅当AABB之间有一条道路,或者存在一个村庄CCAACC相连且CCBB 相连。已知一些村庄之间已经有一些道路,你的工作是修建一些道路, 使所有村庄都连通起来,所有道路的长度之和最小。

Format

Input

11行是整数N3N100N (3≤N ≤100),表示村庄的数量;然后 是NN 行,其中第ii 行包含NN 个整数,第jj 个整数表示村庄ii 和村庄jj 之 间的距离(距离为[1,1000][1,1000]内的整数);接着是整数Q0QN×(N+1)/2Q (0≤Q ≤N ×(N +1)/ 2),表示已建成道路的数量;最后是QQ 行,每行都包含两 个整数aa bb 1a<bN(1≤a<b ≤N ),表示村庄aa 和村庄bb 之间的道路已经 建成。

Output

单行输出需要构建的所有道路的最小长度。

Samples

3
0 990 692
990 0 179
692 179 0
1
1 2
179

来源

POJ2421