/*
TASK: food
LANG: C
*/
#include <stdio.h>
#define MAXN 128
#define MAXP 128

int n, m;
long cost[MAXN];
long prom[MAXP][MAXN];
long food[MAXN][MAXP];

void input()
{ long long i,j;

  scanf("%d %d", &n, &m);
  for(i=1; i<=n; i++) {
    scanf("%ld", &cost[i]);
  }
  for(i=1; i<=m; i++) {
    scanf("%ld", &prom[i][0]);
    for(j=1; j<=prom[i][0]; j++) {
      scanf("%ld", &prom[i][j]);
    }
  }
return;
}
/*
void initq()
{
  front=rear=empty=0;
return;
}

void push(long x)
{
  q[rear]=x;
  if(rear==(MAXP-1)) rear=0;
   else rear++;
return;
}

long pop()
{ long res;

   res=q[front+1];
   if(front==(MAXN-1)) front=0;
    else front++;
   if(front==rear) empty=1;
return res;
}

void solve()
{
  for(i=1; i<=m; i++) {
    for(j=1; j<=prom[i][0]; j++) {
      food[prom[i][j]][0]++;
      food[prom[i][j]][food[prom[i][j]][0]]=prom[i][j];
    }
  }

  for(i=1; i<=n; i++) {
    initq();  teksum=100000000;
    for(j=1; j<=food[i][0]; j++) { push(food[i][j]); }
    while(front!=rear && empty) {
       v=pop();
       for()
    }
  }
return;
}
*/

void solve()
{
  printf("0\n");
return;
}

int main()
{
  input();
  solve();
 return 0;
}

