#include <bits/stdc++.h>
using namespace std;
int X;
struct func {
  int a, b, c;
  int operator()(int x) {
    if (x <= a) return a + c;
    if (x >= b) return b + c;
    return x + c;
  }
};
func operator-(func a, int x) {
  a.c -= x;
  if (a.c + X < 0) {
    a.a = 0;
    a.b = 0;
    a.c = 0;
    return a;
  }
  if (a.a + a.c < 0) a.a = -a.c;
  return a;
}
func operator+(func a, int x) {
  a.c += x;
  if (a.c > X) {
    a.a = 0;
    a.b = 0;
    a.c = X;
    return a;
  }
  if (a.b + a.c > X) a.b = X - a.c;
  return a;
}
int k, r[233333];
func fs[233333];
int main() {
  scanf("%d%d", &X, &k);
  fs[0].a = 0;
  fs[0].b = X;
  fs[0].c = 0;
  for (int i = 1; i <= k; ++i) {
    scanf("%d", r + i);
    if (i & 1)
      fs[i] = fs[i - 1] - (r[i] - r[i - 1]);
    else
      fs[i] = fs[i - 1] + (r[i] - r[i - 1]);
  }
  int q, t, a;
  scanf("%d", &q);
  while (q--) {
    scanf("%d%d", &t, &a);
    int g = upper_bound(r, r + k + 1, t) - r - 1;
    func s = fs[g];
    if (g & 1)
      s = s + (t - r[g]);
    else
      s = s - (t - r[g]);
    printf("%d\n", s(a));
  }
}
