#include<bits/stdc++.h>
using namespace std;
int s,n,b;
int f[110][10][10][10][10][10];
int m[10];
int v[110][10];
int w[110];
map<int,int> tbl;
map<int,int>::iterator it;
int main(){
cin>>s;
for(int i=1;i<=s;i++){
int n;
cin>>n;
for(int j=1;j<=n;j++){
int c,k;
cin>>c>>k;
it=tbl.find(c);
if(it==tbl.end()){
int sz=tbl.size();
tbl[c]=sz+1;
}
v[i][tbl[c]]=k;
}
int p;
cin>>p;
w[i]=p;
}
cin>>b;
for(int i=1;i<=b;i++){
int c,k,p;
cin>>c>>k>>p;
it=tbl.find(c);
if(it==tbl.end()){
int sz=tbl.size();
tbl[c]=sz+1;
}else{}
v[s+i][tbl[c]]=1;
w[s+i]=p;
m[i]=k;
}
memset(f,0x3f,sizeof(f));
f[0][0][0][0][0][0]=0;
for(int i=1;i<=s+b;i++){
for(int j=0;j<=m[1];j++){
for(int k=0;k<=m[2];k++){
for(int x=0;x<=m[3];x++){
for(int y=0;y<=m[4];y++){
for(int z=0;z<=m[5];z++){
f[i][j][k][x][y][z]=f[i-1][j][k][x][y][z];
if(v[i][1]<=j&&v[i][2]<=k&&v[i][3]<=x&&v[i][4]<=y&&v[i][5]<=z)
f[i][j][k][x][y][z]=min(f[i][j][k][x][y][z],f[i][j-v[i][1]][k-v[i][2]][x-v[i][3]][y-v[i][4]][z-v[i][5]]+w[i]);
}
}
}
}
}
}
cout<<f[s+b][m[1]][m[2]][m[3]][m[4]][m[5]]<<endl;
return 0;
}