#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, t;
  cin >> n;
  long long x[100001], y[100001];
  for (long long i = 0; i < (long long)n; i++) {
    cin >> x[i] >> y[i];
  }
  cin >> t;
  for (long long stage = 0; stage < (long long)t; stage++) {
    long long tx, ty;
    long long res = 0;
    cin >> tx >> ty;
    bool flag = false;
    for (long long i = 0; i < (long long)n; i++) {
      long long low = i + 1;
      long long high = i - 1 + n;
      while (low + 1 != high) {
        long long mid = (low + high) / 2;
        long long a = y[i] - y[mid % n];
        long long b = x[mid % n] - x[i];
        long long c = a * x[i] + b * y[i];
        if (c < a * tx + b * ty)
          high = mid;
        else
          low = mid;
      }
      long long a = y[i] - y[low % n];
      long long b = x[low % n] - x[i];
      long long c = a * x[i] + b * y[i];
      if (c < a * tx + b * ty) flag = true;
      a = y[i] - y[high % n];
      b = x[high % n] - x[i];
      c = a * x[i] + b * y[i];
      if (c > a * tx + b * ty) flag = true;
      res += (low - i) * (low - i - 1) / 2;
    }
    if (flag)
      cout << "0" << endl;
    else
      cout << (((n) * (n - 1) * (n - 2) / 3 / 2 / 1) - (res)) << endl;
  }
}
