#include <bits/stdc++.h>
using namespace std;
int n, m, x;
int a[110], p[20];
vector<array<int,2>> v[20];
int main(){
cin >> n >> m; int ans = 1e9;
for(int i = 0; i < m; i++){
cin >> p[i] >> x; v[i].resize(x);
for(auto &u:v[i]) cin>>u[0]>>u[1];
}
for(int mask = 0; mask < (1<<m); mask++){
fill(a,a+n,1e6); int tot = 0;
for(int i = 0; i < m; i++){
if(mask>>i&1){
tot+=p[i];
for(auto [j,k] : v[i]) a[j]=min(a[j], k);
}
}
ans = min(ans, tot+accumulate(a,a+n,0));
}
cout << ans << "\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbiwgbSwgeDsKaW50IGFbMTEwXSwgcFsyMF07CnZlY3RvcjxhcnJheTxpbnQsMj4+IHZbMjBdOwoKaW50IG1haW4oKXsKICAgIGNpbiA+PiBuID4+IG07IGludCBhbnMgPSAxZTk7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbTsgaSsrKXsKCQljaW4gPj4gcFtpXSA+PiB4OyB2W2ldLnJlc2l6ZSh4KTsKCQlmb3IoYXV0byAmdTp2W2ldKSBjaW4+PnVbMF0+PnVbMV07Cgl9Cglmb3IoaW50IG1hc2sgPSAwOyBtYXNrIDwgKDE8PG0pOyBtYXNrKyspewoJCWZpbGwoYSxhK24sMWU2KTsgaW50IHRvdCA9IDA7CgkJZm9yKGludCBpID0gMDsgaSA8IG07IGkrKyl7CgkJCWlmKG1hc2s+PmkmMSl7CgkJCQl0b3QrPXBbaV07CgkJCQlmb3IoYXV0byBbaixrXSA6IHZbaV0pIGFbal09bWluKGFbal0sIGspOwoJCQl9CgkJfQoJCWFucyA9IG1pbihhbnMsIHRvdCthY2N1bXVsYXRlKGEsYStuLDApKTsKCX0KCWNvdXQgPDwgYW5zIDw8ICJcbiI7Cn0=