#include <fstream>
using namespace std;
ifstream fin ("aprindere.in");
ofstream fout ("aprindere.out");
struct bec
{
bool intr;
int timp,cate,ww[1005];
} v[1005];
int n,p,i,m,c,tc,nrc,a[1005],j,camera;
long long rez;
int main()
{
fin>>n>>m;
for(i=0; i<n; i++)
{
fin>>a[i];
if(a[i]==0)a[i]=-1;
}
for(i=0; i<m; i++)
{
fin>>c>>tc>>nrc;
v[c].intr=true;
v[c].timp=tc;
v[c].cate=nrc;
for(j=0; j<nrc; j++)fin>>v[c].ww[j];
}
for(i=0; i<n; i++)
{
if(v[i].intr && a[i]==-1)
{
for(j=0; j<v[i].cate; j++)
{
camera=v[i].ww[j];
a[camera]*=(-1);
}
rez+=v[i].timp;
}
}
fout<<rez;
return 0;
}
//merge la fiecare camera si vede daca becul este aprins si ii schimba starea.