#include <bits/stdc++.h>
using namespace std;
const long long maxn = 300000 + 10;
const long long inf = 1e18;
vector<int> seg[maxn * 4];
pair<int, int> p[maxn];
int pp[maxn];
void build1(int v, int l, int r, int x) {
  if (r - l == 1) {
    seg[v].push_back(p[x].second);
    return;
  }
  int mid = (l + r) / 2;
  if (x < mid)
    build1(v * 2, l, mid, x);
  else
    build1(v * 2 + 1, mid, r, x);
}
void build(int v, int l, int r) {
  if (r - l == 1) return;
  int mid = (l + r) / 2;
  build(v * 2, l, mid);
  build(v * 2 + 1, mid, r);
  int i = 0, j = 0;
  while (i < seg[v * 2].size() && j < seg[v * 2 + 1].size()) {
    if (seg[v * 2][i] < seg[v * 2 + 1][j]) {
      seg[v].push_back(seg[v * 2][i]);
      i++;
    } else {
      seg[v].push_back(seg[v * 2 + 1][j]);
      j++;
    }
  }
  while (i < seg[v * 2].size()) {
    seg[v].push_back(seg[v * 2][i]);
    i++;
  }
  while (j < seg[v * 2 + 1].size()) {
    seg[v].push_back(seg[v * 2 + 1][j]);
    j++;
  }
}
int query(int v, int l, int r, int b, int e, int R) {
  if (e <= l || r <= b) return 0;
  if (b <= l && r <= e) {
    return upper_bound(seg[v].begin(), seg[v].end(), R) - seg[v].begin();
  }
  int mid = (l + r) / 2;
  return query(v * 2, l, mid, b, e, R) + query(v * 2 + 1, mid, r, b, e, R);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, q;
  scanf("%d%d ", &n, &q);
  for (int i = 0; i < n; i++) {
    scanf("%d%d ", &p[i].first, &p[i].second);
  }
  sort(p, p + n);
  for (int i = 0; i < n; i++) pp[i] = p[i].first;
  for (int i = 0; i < n; i++) build1(1, 0, n, i);
  build(1, 0, n);
  while (q--) {
    int res = 0;
    int cntt;
    scanf("%d", &cntt);
    vector<int> cnt;
    cnt.push_back(0);
    while (cntt--) {
      int x;
      scanf("%d", &x);
      cnt.push_back(x);
    }
    cnt.push_back(1000001);
    for (int i = 1; i < cnt.size(); i++) {
      if (cnt[i] > cnt[i - 1] + 1) {
        int f, s;
        f = lower_bound(pp, pp + n, cnt[i - 1] + 1) - pp;
        s = upper_bound(pp, pp + n, cnt[i] - 1) - pp;
        if (s <= f) continue;
        res += query(1, 0, n, f, s, cnt[i] - 1);
      }
    }
    printf("%d\n", n - res);
  }
  return 0;
}
