#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MOD2 = 1e9 + 9;
const int PR = 727;
const int INF = INT_MAX;
const long long LINF = LLONG_MAX;
const int N = 1e6 + 20;
int fen[N], n, m;
vector<int> s[N], q[N], f[N];
unordered_map<int, int> a[N];
void add(int p) {
  if (p == 0) return;
  for (; p < N; p += p & -p) fen[p]++;
}
int get(int p) {
  int res = 0;
  for (; p; p -= p & -p) res += fen[p];
  return res;
}
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n >> m;
  for (int i = 0, l, r; i < n; i++) {
    cin >> l >> r;
    s[r].push_back(l);
  }
  for (int i = 0, cnt; i < m; i++) {
    cin >> cnt;
    f[i].push_back(0);
    for (int j = 0, tmp; j < cnt; j++) {
      cin >> tmp;
      f[i].push_back(tmp);
    }
    f[i].push_back(N - 1);
    for (int j = 1; j < f[i].size(); j++) q[f[i][j]].push_back(f[i][j - 1]);
  }
  for (int i = 1; i < N; i++) {
    for (int j : q[i]) a[j][i] = get(N - 1) - get(j);
    for (int j : s[i]) add(j);
  }
  for (int i = 0; i < m; i++) {
    int res = 0;
    for (int j = 1; j < f[i].size(); j++) res += a[f[i][j - 1]][f[i][j]];
    cout << n - res << endl;
  }
}
