#include <bits/stdc++.h>
class PT {
 public:
  long long x, y;
  PT() {}
  PT(long long _x, long long _y) {
    x = _x;
    y = _y;
  }
  void input() { scanf("%I64d %I64d", &x, &y); }
  long long operator^(const PT& p) const { return x * p.y - y * p.x; }
  PT operator-(const PT& p) const { return PT(x - p.x, y - p.y); }
};
inline long long tri(PT p1, PT p2, PT p3) { return (p2 - p1) ^ (p3 - p1); }
PT pt[200100];
int main() {
  int n, m, mm, i, j;
  PT p;
  long long sum;
  scanf("%d", &n);
  for (i = n - 1; i >= 0; i--) {
    pt[i].input();
    pt[i + n] = pt[i];
  }
  scanf("%d", &m);
  for (mm = 0; mm < m; mm++) {
    p.input();
    sum = n;
    sum = sum * (sum - 1) * (sum - 2) / 6;
    for (i = 0, j = 1; i < n; i++) {
      while (j - i < n && tri(pt[i], pt[j], p) >= 0) j++;
      if (j - i == n) {
        sum = 0;
        break;
      }
      sum -= (long long)(j - i - 1) * (j - i - 2) / 2;
    }
    printf("%I64d\n", sum);
  }
  return 0;
}
