#include <bits/stdc++.h>
using namespace std;
namespace io {
void _(int &k) {
  char c;
  int e = 1;
  k = 0;
  while ((c = getchar()) > '9' || c < '0')
    if (c == '-') e = -1;
  k = c - '0';
  while ((c = getchar()) <= '9' && c >= '0') {
    k *= 10;
    k += c - '0';
  }
  k *= e;
}
void _(long long &k) {
  char c;
  int e = 1;
  k = 0;
  while ((c = getchar()) > '9' || c < '0')
    if (c == '-') e = -1;
  k = c - '0';
  while ((c = getchar()) <= '9' && c >= '0') {
    k *= 10;
    k += c - '0';
  }
  k *= e;
}
void _(char &c) {
  while ((c = getchar()) == ' ' || c == '\n')
    ;
}
void _(double &c) { scanf("%lf", &c); }
void _(char *s) {
  char c;
  while ((c = getchar()) != EOF && c != ' ' && c != 10) *s++ = c;
}
template <class t1, class t2>
void _(t1 &a, t2 &b) {
  _(a);
  _(b);
}
template <class t1, class t2, class t3>
void _(t1 &a, t2 &b, t3 &c) {
  _(a);
  _(b);
  _(c);
}
template <class t1, class t2, class t3, class t4>
void _(t1 &a, t2 &b, t3 &c, t4 &d) {
  _(a);
  _(b);
  _(c);
  _(d);
}
template <class t1, class t2, class t3, class t4, class t5>
void _(t1 &a, t2 &b, t3 &c, t4 &d, t5 &e) {
  _(a);
  _(b);
  _(c);
  _(d);
  _(e);
}
void _p(double k) { printf("%.6lf", k); }
void _p(char *c) {
  for (; *c; putchar(*c++))
    ;
}
void _p(const char *c) {
  for (; *c; putchar(*c++))
    ;
}
void _p(char c) { putchar(c); }
template <class T>
void _p0(T k) {
  if (k >= 10) _p0(k / 10);
  putchar(k % 10 + '0');
}
template <class T>
void _p(T k) {
  if (k < 0) {
    putchar('-');
    _p0(-k);
  } else
    _p0(k);
}
template <class T>
void __p(T k) {
  _p(k);
  putchar(' ');
}
template <class T>
void _pn(T k) {
  _p(k);
  putchar('\n');
}
template <class t1, class t2>
void _p(t1 a, t2 b) {
  __p(a);
  _pn(b);
}
template <class t1, class t2, class t3>
void _p(t1 a, t2 b, t3 c) {
  __p(a);
  __p(b);
  _pn(c);
}
template <class t1, class t2, class t3, class t4>
void _p(t1 a, t2 b, t3 c, t4 d) {
  __p(a);
  __p(b);
  __p(c);
  _pn(d);
}
template <class T>
void op(T *a, int n) {
  int i;
  n--;
  for (i = 1; i <= n; i++) __p(a[i]);
  _pn(a[n + 1]);
}
int gi() {
  int first;
  _(first);
  return first;
}
long long gll() {
  long long first;
  _(first);
  return first;
}
}  // namespace io
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
void fcl() {
  fclose(stdin);
  fclose(stdout);
}
void fop(const char *s) {
  char c[256], d[256];
  memset(c, 0, sizeof(c));
  memset(d, 0, sizeof(d));
  strcpy(c, s);
  strcpy(d, s);
  freopen(strcat(c, ".in"), "r", stdin);
  freopen(strcat(d, ".out"), "w", stdout);
}
int eq(double a, double b) {
  return a + 0.00000000001 >= b && b + 0.00000000001 >= a;
}
template <class T>
void _ma(T &a, T b) {
  if (a < b) a = b;
}
template <class T>
void _mi(T &a, T b) {
  if (a > b) a = b;
}
const int N = 1234567, EE = 100000000, GG = 1000000000, ima = 2147483647;
using namespace io;
int n, T;
long long a[N], b[N], sm[N], l1, r1, m, an;
int main() {
  int i, j, a1, a2;
  _(n);
  for (i = 1; i <= n; i++) _(a[i]);
  sort(a + 1, a + n + 1);
  for (i = 1; i <= n - 1; i++) b[i] = a[i + 1] - a[i];
  b[n] = 1123456789012345678;
  sort(b + 1, b + n + 1);
  for (i = 1; i <= n; i++) sm[i] = sm[i - 1] + b[i];
  _(T);
  while (T--) {
    _(l1, r1);
    m = r1 - l1 + 1;
    int l = 1, r = n, md, an = 0;
    while (l <= r) {
      md = (l + r) / 2;
      if (b[md] < m) {
        l = md + 1;
        an = md;
      } else
        r = md - 1;
    }
    __p(sm[an] + (long long)(n - an) * m);
  }
}
