#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr int maxr = 1e6;
vector<int> rng[maxr + 2];
vector<pair<int, int>> q[maxr + 2];
vector<ll> t;
ll sum(int r) {
  ll res = 0;
  for (; r >= 0; r = (r & (r + 1)) - 1) res += t[r];
  return res;
}
void inc(int i, ll val) {
  for (; i < t.size(); i = (i | (i + 1))) t[i] += val;
}
int main() {
  t.assign(maxr + 2, 0);
  int n = 0, m = 0;
  cin >> n >> m;
  for (int i = 0; i < n; ++i) {
    int l = 0, r = 0;
    cin >> l >> r;
    rng[r].push_back(l);
  }
  for (int i = 0; i < m; ++i) {
    int num = 0;
    cin >> num;
    vector<int> pts(num + 1);
    pts[0] = 0;
    for (int j = 1; j <= num; ++j) cin >> pts[j];
    pts.push_back(maxr + 1);
    for (int j = 0; j <= num; ++j)
      q[pts[j + 1]].push_back(make_pair(pts[j], i));
  }
  vector<int> ans(m);
  int added = 0;
  for (int i = 0; i <= maxr + 1; ++i) {
    for (int j = 0; j < q[i].size(); ++j)
      ans[q[i][j].second] += added - sum(q[i][j].first);
    for (int j = 0; j < rng[i].size(); ++j) {
      inc(rng[i][j], 1);
      ++added;
    }
  }
  for (int i = 0; i < m; ++i) cout << n - ans[i] << '\n';
  return 0;
}
