#include <bits/stdc++.h>
using namespace std;
int a[220000], b[220000], sum[220000], l[220000], r[220000], A, B, ans0[220000],
    ans1[220000];
int q, n, x;
int main() {
  scanf("%d", &x);
  scanf("%d", &n);
  n++;
  for (int i = 1; i <= n; i++) {
    if (i < n)
      scanf("%d", &a[i]);
    else
      a[i] = 1200000000;
    b[i] = a[i] - a[i - 1];
    b[i] = b[i] * ((i & 1) ? -1 : 1);
    sum[i] = sum[i - 1] + b[i];
  }
  l[0] = 0, r[0] = x;
  for (int i = 1; i <= n; i++) {
    l[i] = l[i - 1];
    r[i] = r[i - 1];
    l[i] = max(l[i], -sum[i]);
    r[i] = min(r[i], x - sum[i]);
  }
  A = 0, B = x;
  for (int i = 1; i <= n; i++) {
    A = A + b[i];
    B = B + b[i];
    A = max(A, 0);
    A = min(A, x);
    B = max(B, 0);
    B = min(B, x);
    ans0[i] = A;
    ans1[i] = B;
  }
  scanf("%d", &q);
  for (int i = 1; i <= q; i++) {
    int X, y;
    scanf("%d%d", &X, &y);
    int p = lower_bound(a + 1, a + 1 + n, X) - a;
    if (a[p] > X) p--;
    int ans = 0;
    if (y <= l[p]) {
      ans = ans0[p];
    }
    if (y >= r[p]) {
      ans = ans1[p];
    }
    if (y >= l[p] && y <= r[p]) {
      ans = y + sum[p];
    }
    if (p & 1)
      ans += X - a[p];
    else
      ans -= X - a[p];
    ans = max(ans, 0);
    ans = min(ans, x);
    printf("%d\n", ans);
  }
}
