#include struct Edge{ int v,nxt; int c; }; #define MAXN 85 #define MAXM 10005 int n,m; int x,y; int s; Edge e[MAXM*2]; int h[MAXN],ec; int cur[MAXN],dis[MAXN]; int qu[MAXN],fr,bk; int en; void adde(int u,int v,int c){ e[ec].v=v,e[ec].nxt=h[u],e[ec].c=c; h[u]=ec; ++ec; return; } void addp(int u,int v,int c){ // std::cout<>n; en=2*n+2; for(int i=1;i<=n;i++){ std::cin>>x>>y; addp(1,2*i,x),addp(2*i+1,2*n+2,y); s+=(x+y); addp(2*i,2*i+1,0x3f3f3f3f); } std::cin>>m; for(int i=1;i<=m;i++){ std::cin>>x>>y; ++x,++y; addp(2*x,2*y+1,0x3f3f3f3f); } std::cout<