#include <bits/stdc++.h>
using namespace std;
class TSolver {
 public:
  void Input() {
    cin >> n;
    s.resize(n);
    for (int i = 0; i < n; ++i) {
      cin >> s[i];
    }
    cin >> q;
  }
  void Solve() {
    sort(s.begin(), s.end());
    vector<long long> diff(n);
    for (int i = 1; i < n; ++i) {
      diff[i - 1] = s[i] - s[i - 1];
    }
    diff[n - 1] = LEN;
    sort(diff.begin(), diff.end());
    vector<long long> sumDiff = diff;
    for (int i = 1; i < n; ++i) {
      sumDiff[i] += sumDiff[i - 1];
    }
    long long l;
    long long r;
    for (int i = 0; i < q; ++i) {
      cin >> l >> r;
      long long dst = r - l + 1;
      int pos = findPos(diff, dst);
      long long ans = GetValue(sumDiff, pos - 1) + (n - pos) * dst;
      cout << ans << endl;
    }
  }

 private:
  long long GetValue(const vector<long long>& vec, int pos) {
    if (pos < 0 || vec.size() <= pos) {
      return 0;
    }
    return vec[pos];
  }
  size_t findPos(const vector<long long>& vec, long long val) {
    size_t lef = 0;
    size_t rig = vec.size() - 1;
    size_t mid;
    while (lef < rig) {
      mid = (lef + rig) / 2;
      if (vec[mid] >= val) {
        rig = mid;
      } else {
        lef = mid + 1;
      }
    }
    if (vec[lef] >= val) {
      return lef;
    }
    return lef + 1;
  }

 private:
  static constexpr long long LEN = 1000000000000000001ll;
  size_t n, q;
  vector<long long> s;
};
int main() {
  TSolver solver;
  solver.Input();
  solver.Solve();
}
