#include <bits/stdc++.h>
int X;
int K;
int R[10100];
int F(int t, int a);
int main() {
  int i;
  int Q;
  scanf("%d", &X);
  scanf("%d", &K);
  R[0] = 0;
  for (i = 1; i <= K; i++) {
    scanf("%d", &R[i]);
  }
  scanf("%d", &Q);
  for (i = 1; i <= Q; i++) {
    int t, a;
    scanf("%d %d", &t, &a);
    printf("%d\n", F(t, a));
  }
  return 0;
}
int F(int t, int a) {
  int A;
  int T;
  int i;
  int isUpper = 1;
  A = a;
  for (i = 0; i + 1 <= K && R[i + 1] <= t; i++) {
    T = R[i + 1] - R[i];
    if (isUpper == 1) {
      if (A < T) {
        A = 0;
      } else {
        A = A - T;
      }
    } else {
      if (X - A < T) {
        A = X;
      } else {
        A = A + T;
      }
    }
    isUpper = 1 - isUpper;
  }
  T = t - R[i];
  if (isUpper == 1) {
    if (A < T) {
      A = 0;
    } else {
      A = A - T;
    }
  } else {
    if (X - A < T) {
      A = X;
    } else {
      A = A + T;
    }
  }
  return A;
}
