#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <utility>
#include <map>
#include <set>
#include <string>
#include <cstring>
#include <queue>
#include <cassert>
#define rf freopen("in.in", "r", stdin)
#define wf freopen("out.out", "w", stdout)
#define rep(i, s, n) for(int i=int(s); i<=int(n); ++i)
using namespace std;
const int mx = 1e5 + 10, mod = 1e9+7;
#define pi pair<int, int>
#define ff first
#define ss second
#define mp make_pair
pi red_points[mx], black_points[mx];
int blacks_inside[111][111];
const int base = 1e4;
int n, m, q;
int cross_prod(pi pti, pi ptj, pi ptk)
{
int ix = pti.ff, iy = pti.ss;
int jx = ptj.ff, jy = ptj.ss;
int kx = ptk.ff, ky = ptk.ss;
return (ix - jx) * (ky - jy) - (iy - jy) * (kx - jx);
}
int test_inside(pi pti, pi ptj, pi ptk, pi pts)
{
int ix = pti.ff, iy = pti.ss;
int jx = ptj.ff, jy = ptj.ss;
int kx = ptk.ff, ky = ptk.ss;
int sx = pts.ff, sy = pts.ss;
int as_x = sx-ix, as_y = sy-iy;
bool s_ab = (jx-ix)*as_y-(jy-iy)*as_x > 0;
if((kx-ix)*as_y-(ky-iy)*as_x > 0 == s_ab)
return 0;
if((kx-jx)*(sy-jy)-(ky-jy)*(sx-jx) > 0 != s_ab)
return 0;
return 1;
}
void count_blacks_inside(int i, int j)
{
pi pti = red_points[i], ptj = red_points[j];
if(cross_prod(pti, mp(0, 0), ptj) <= 0)
return;
rep(p, 1, m)
blacks_inside[i][j] += test_inside(pti, mp(0, 0), ptj, black_points[p]);
blacks_inside[j][i] = -blacks_inside[i][j];
}
int main()
{
//rf;// wf;
ios::sync_with_stdio(0);
cin >> n >> m;
rep(i, 1, n)
{
int x, y;
cin >> x >> y;
x += base; y += base;
red_points[i] = mp(x, y);
}
rep(i, 1, m)
{
int x, y;
cin >> x >> y;
x += base; y += base;
black_points[i] = mp(x, y);
}
rep(i, 1, n) rep(j, 1, n)
count_blacks_inside(i, j);
cin >> q;
while(q--)
{
int k;
cin >> k;
int prev, cur, start;
cin >> prev; start = prev;
int ans = 0;
for(int i = 1; i<k; ++i)
{
cin >> cur;
ans += blacks_inside[prev][cur];
prev = cur;
}
ans += blacks_inside[cur][start];
cout << abs(ans) << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDx1dGlsaXR5PgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8Y2Fzc2VydD4KI2RlZmluZSByZiBmcmVvcGVuKCJpbi5pbiIsICJyIiwgc3RkaW4pCiNkZWZpbmUgd2YgZnJlb3Blbigib3V0Lm91dCIsICJ3Iiwgc3Rkb3V0KQojZGVmaW5lIHJlcChpLCBzLCBuKSBmb3IoaW50IGk9aW50KHMpOyBpPD1pbnQobik7ICsraSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IG14ID0gMWU1ICsgMTAsIG1vZCA9IDFlOSs3OwojZGVmaW5lIHBpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKI2RlZmluZSBtcCBtYWtlX3BhaXIKIApwaSByZWRfcG9pbnRzW214XSwgYmxhY2tfcG9pbnRzW214XTsKaW50IGJsYWNrc19pbnNpZGVbMTExXVsxMTFdOwpjb25zdCBpbnQgYmFzZSA9IDFlNDsKaW50IG4sIG0sIHE7CiAKaW50IGNyb3NzX3Byb2QocGkgcHRpLCBwaSBwdGosIHBpIHB0aykKewoJaW50IGl4ID0gcHRpLmZmLCBpeSA9IHB0aS5zczsKCWludCBqeCA9IHB0ai5mZiwgankgPSBwdGouc3M7CglpbnQga3ggPSBwdGsuZmYsIGt5ID0gcHRrLnNzOwogCglyZXR1cm4gKGl4IC0gangpICogKGt5IC0gankpIC0gKGl5IC0gankpICogKGt4IC0gangpOwp9CiAKaW50IHRlc3RfaW5zaWRlKHBpIHB0aSwgcGkgcHRqLCBwaSBwdGssIHBpIHB0cykKewoJaW50IGl4ID0gcHRpLmZmLCBpeSA9IHB0aS5zczsKCWludCBqeCA9IHB0ai5mZiwgankgPSBwdGouc3M7CglpbnQga3ggPSBwdGsuZmYsIGt5ID0gcHRrLnNzOwoJaW50IHN4ID0gcHRzLmZmLCBzeSA9IHB0cy5zczsKIAogICAJaW50IGFzX3ggPSBzeC1peCwgYXNfeSA9IHN5LWl5OwogICAgCWJvb2wgc19hYiA9IChqeC1peCkqYXNfeS0oanktaXkpKmFzX3ggPiAwOwogCiAgICAJaWYoKGt4LWl4KSphc195LShreS1peSkqYXNfeCA+IDAgPT0gc19hYikKCQlyZXR1cm4gMDsKIAogICAgCWlmKChreC1qeCkqKHN5LWp5KS0oa3ktankpKihzeC1qeCkgPiAwICE9IHNfYWIpCgkJcmV0dXJuIDA7CiAKCXJldHVybiAxOwp9CiAKdm9pZCBjb3VudF9ibGFja3NfaW5zaWRlKGludCBpLCBpbnQgaikKewoJcGkgcHRpID0gcmVkX3BvaW50c1tpXSwgcHRqID0gcmVkX3BvaW50c1tqXTsKIAoJaWYoY3Jvc3NfcHJvZChwdGksIG1wKDAsIDApLCBwdGopIDw9IDApCgkJcmV0dXJuOwogCglyZXAocCwgMSwgbSkKCQlibGFja3NfaW5zaWRlW2ldW2pdICs9IHRlc3RfaW5zaWRlKHB0aSwgbXAoMCwgMCksIHB0aiwgYmxhY2tfcG9pbnRzW3BdKTsKIAoJYmxhY2tzX2luc2lkZVtqXVtpXSA9IC1ibGFja3NfaW5zaWRlW2ldW2pdOwp9CiAKaW50IG1haW4oKQp7CgkvL3JmOy8vIHdmOwoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAKCWNpbiA+PiBuID4+IG07CglyZXAoaSwgMSwgbikKCXsKCQlpbnQgeCwgeTsKCQljaW4gPj4geCA+PiB5OwoJCXggKz0gYmFzZTsgeSArPSBiYXNlOwoJCQoJCXJlZF9wb2ludHNbaV0gPSBtcCh4LCB5KTsKCX0KIAoJcmVwKGksIDEsIG0pCgl7CgkJaW50IHgsIHk7CgkJY2luID4+IHggPj4geTsKCQl4ICs9IGJhc2U7IHkgKz0gYmFzZTsKIAoJCWJsYWNrX3BvaW50c1tpXSA9IG1wKHgsIHkpOwoJfQoJCglyZXAoaSwgMSwgbikgcmVwKGosIDEsIG4pCgkJY291bnRfYmxhY2tzX2luc2lkZShpLCBqKTsKIAoJY2luID4+IHE7Cgl3aGlsZShxLS0pCgl7CgkJaW50IGs7CgkJY2luID4+IGs7CiAKCQlpbnQgcHJldiwgY3VyLCBzdGFydDsKCQljaW4gPj4gcHJldjsgc3RhcnQgPSBwcmV2OwogCgkJaW50IGFucyA9IDA7CgkJZm9yKGludCBpID0gMTsgaTxrOyArK2kpCgkJewoJCQkKCQkJY2luID4+IGN1cjsKCQkJYW5zICs9IGJsYWNrc19pbnNpZGVbcHJldl1bY3VyXTsKIAoJCQlwcmV2ID0gY3VyOwoJCX0KCQlhbnMgKz0gYmxhY2tzX2luc2lkZVtjdXJdW3N0YXJ0XTsKIAoJCWNvdXQgPDwgYWJzKGFucykgPDwgJ1xuJzsKCX0KIAoJcmV0dXJuIDA7Cn0KIA==