100 1
100 50 99 49 98 48 97 47 96 46 95 45 94 44 93 43 92 42 91 41 90 40 89 39 88 38 87 37 86 36 85 35 84 34 83 33 82 32 81 31 80 30 79 29 78 28 77 27 76 26 75 25 74 24 73 23 72 22 71 21 70 20 69 19 68 18 67 17 66 16 65 15 64 14 63 13 62 12 61 11 60 10 59 9 58 8 57 7 56 6 55 5 54 4 53 3 52 2 51 1
9 8 99 93
 2 9
1 2
1 1 1 1
1 1 1 2
1 2 1 2
1 1 2 1
1 1 2 2
1 2 2 2
2 1 2 1
2 1 2 2
2 2 2 2
 10 10
6 5 7 4 8 3 9 2 10 1
8 8 8 8
2 1 2 7
8 4 8 4
3 9 3 9
7 7 7 7
2 10 2 10
6 8 9 8
1 4 1 4
1 5 4 5
8 10 8 10
 10 10
1 10 2 9 3 8 4 7 5 6
4 3 7 10
3 6 8 7
3 2 6 4
1 1 2 8
3 8 10 9
7 3 8 9
4 5 5 9
2 5 6 7
2 5 6 7
1 7 6 10
 10 5
5 10 4 9 3 8 2 7 1 6
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
 10 10
10 9 8 7 6 5 4 3 2 1
8 8 8 8
2 1 2 7
8 4 8 4
3 9 3 9
7 7 7 7
2 10 2 10
6 8 9 8
1 4 1 4
1 5 4 5
8 10 8 10
 7 7
1 2 3 6 7 4 5
3 2 4 6
3 2 5 4
3 6 7 7
1 1 4 4
2 2 7 6
1 2 6 2
1 2 6 7
 10 10
6 1 7 2 8 3 9 4 10 5
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
 10 10
5 1 6 2 8 3 4 10 9 7
8 1 8 1
1 7 2 7
4 3 8 7
3 7 9 7
7 6 7 7
2 3 10 6
6 4 8 7
1 6 4 7
1 2 5 4
8 5 10 10
 10 10
5 6 4 7 3 8 2 9 1 10
8 8 8 8
2 1 2 7
8 4 8 4
3 9 3 9
7 7 7 7
2 10 2 10
6 8 9 8
1 4 1 4
1 5 4 5
8 10 8 10
 10 10
10 5 9 4 8 3 7 2 6 1
8 1 8 1
1 7 2 7
4 3 8 7
3 7 9 7
7 6 7 7
2 3 10 6
6 4 8 7
1 6 4 7
1 2 5 4
8 5 10 10
 10 10
7 5 1 6 10 3 4 8 9 2
4 3 7 10
3 6 8 7
3 2 6 4
1 1 2 8
3 8 10 9
7 3 8 9
4 5 5 9
2 5 6 7
2 5 6 7
1 7 6 10
 10 10
1 2 3 4 5 6 7 8 9 10
8 8 8 8
2 1 2 7
8 4 8 4
3 9 3 9
7 7 7 7
2 10 2 10
6 8 9 8
1 4 1 4
1 5 4 5
8 10 8 10
 10 10
5 1 6 2 8 3 4 10 9 7
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
 10 10
9 8 3 4 5 6 7 2 1 10
8 1 8 1
1 7 2 7
4 3 8 7
3 7 9 7
7 6 7 7
2 3 10 6
6 4 8 7
1 6 4 7
1 2 5 4
8 5 10 10
 10 10
10 1 9 2 8 3 7 4 6 5
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
1 1 10 10
 10 10
5 1 6 2 8 3 4 10 9 7
9 5 9 5
4 7 4 7
4 8 5 8
9 1 9 4
4 1 4 6
10 9 10 9
3 5 6 5
3 4 10 4
3 2 5 2
7 8 7 8
 6 10
3 6 1 2 5 4
2 6 2 6
2 3 2 5
6 2 6 2
1 5 1 5
3 5 3 5
2 2 2 4
2 4 5 4
5 4 5 4
1 5 6 5
6 2 6 2
 10 10
1 6 2 7 3 8 4 9 5 10
8 8 8 8
2 1 2 7
8 4 8 4
3 9 3 9
7 7 7 7
2 10 2 10
6 8 9 8
1 4 1 4
1 5 4 5
8 10 8 10

                                                            4886
                                                                1
                                                               1
                                                               1
                                                               1
                                                               1
                                                               1
                                                               1
                                                               1
                                                               1
                                                               11
                                                              17
                                                              15
                                                               6
                                                              16
                                                               2
                                                              19
                                                               4
                                                              20
                                                               8
                                                               39
                                                              30
                                                              26
                                                              16
                                                              23
                                                              29
                                                              27
                                                              30
                                                              30
                                                              27
                                                               45
                                                              45
                                                              45
                                                              45
                                                              45
                                                                9
                                                              14
                                                              21
                                                              16
                                                              16
                                                               9
                                                              15
                                                               4
                                                              20
                                                               3
                                                               17
                                                              16
                                                              11
                                                              16
                                                              21
                                                              11
                                                              21
                                                               45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                                3
                                                               8
                                                              37
                                                              27
                                                              21
                                                              38
                                                              29
                                                              21
                                                              23
                                                              24
                                                               16
                                                              17
                                                              12
                                                               6
                                                              16
                                                               2
                                                              23
                                                               4
                                                              20
                                                               8
                                                                8
                                                              10
                                                              38
                                                              26
                                                              21
                                                              38
                                                              31
                                                              20
                                                              21
                                                              19
                                                               38
                                                              30
                                                              25
                                                              17
                                                              24
                                                              28
                                                              29
                                                              32
                                                              32
                                                              25
                                                               23
                                                              17
                                                              12
                                                               6
                                                              27
                                                               2
                                                              23
                                                               7
                                                              24
                                                               8
                                                               45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                                8
                                                              14
                                                              38
                                                              27
                                                              19
                                                              38
                                                              29
                                                              20
                                                              23
                                                              19
                                                               45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                              45
                                                               10
                                                              16
                                                              17
                                                               8
                                                              27
                                                               2
                                                              25
                                                              26
                                                              16
                                                              16
                                                                5
                                                               9
                                                               2
                                                               2
                                                               6
                                                               8
                                                              11
                                                               8
                                                               9
                                                               2
                                                               16
                                                              17
                                                              12
                                                               6
                                                              16
                                                               2
                                                              23
                                                               7
                                                              18
                                                               8

#include <bits/stdc++.h>
using namespace std;
class BitTree {
 public:
  int N;
  int BIT[1000006];
  BitTree(int N) : N(N) { memset(BIT, 0, sizeof(BIT)); }
  void update(int x, int val) {
    for (; x <= N; x += x & -x) BIT[x] += val;
  }
  int query(int x) {
    int sum = 0;
    for (; x > 0; x -= x & -x) sum += BIT[x];
    return sum;
  }
};
struct Query {
  int l, d, r, u;
  int LD, LU, RD, RU;
  Query(int l, int d, int r, int u) : l(l), d(d), r(r), u(u) {}
};
struct PT {
  int x, y;
  PT(int x, int y) : x(x), y(y) {}
};
int less_x[1000006], less_y[1000006];
vector<PT> v, vx, vy;
vector<Query> query;
int point_cnt[1000006];
int N, Q;
inline bool x_cmp(const PT& a, const PT& b) { return a.x < b.x; }
inline bool cmp_overlap_x(const pair<PT, pair<int, pair<int, int> > >& a,
                          const pair<PT, pair<int, pair<int, int> > >& b) {
  if (a.first.x == b.first.x)
    return a.second.second.first < b.second.second.first;
  return a.first.x < b.first.x;
}
inline bool y_cmp(const PT& a, const PT& b) { return a.y < b.y; }
inline int smaller_x(int x) {
  int minim = 0, maxim = N - 1;
  int ans = -1;
  while (minim <= maxim) {
    int mid = (minim + maxim) / 2;
    if (vx[mid].x <= x) {
      ans = max(ans, less_x[vx[mid].x]);
      minim = mid + 1;
    } else {
      maxim = mid - 1;
    }
  }
  if (ans == -1) return 0;
  return ans;
}
inline int smaller_y(int y) {
  int minim = 0, maxim = N - 1;
  int ans = -1;
  while (minim <= maxim) {
    int mid = (minim + maxim) / 2;
    if (vy[mid].y <= y) {
      ans = max(ans, less_x[vy[mid].y]);
      minim = mid + 1;
    } else {
      maxim = mid - 1;
    }
  }
  if (ans == -1) return 0;
  return ans;
}
void overlap() {
  vector<pair<PT, pair<int, pair<int, int> > > > event;
  for (PT p : v) {
    event.push_back(make_pair(p, make_pair(0, make_pair(0, -1))));
  }
  int cnt = 0;
  for (Query& q : query) {
    q.LD = cnt;
    event.push_back(
        make_pair(PT(-1, 0), make_pair(q.d - 1, make_pair(-1, cnt))));
    event.push_back(
        make_pair(PT(q.l - 1, 0), make_pair(q.d - 1, make_pair(2, cnt++))));
    q.LU = cnt;
    event.push_back(
        make_pair(PT(-1, q.u + 1), make_pair(N, make_pair(-1, cnt))));
    event.push_back(
        make_pair(PT(q.l - 1, q.u + 1), make_pair(N, make_pair(2, cnt++))));
    q.RD = cnt;
    event.push_back(
        make_pair(PT(q.r + 1, 0), make_pair(q.d - 1, make_pair(-1, cnt))));
    event.push_back(
        make_pair(PT(N + 1, 0), make_pair(q.d - 1, make_pair(2, cnt++))));
    q.RU = cnt;
    event.push_back(
        make_pair(PT(q.r + 1, q.u + 1), make_pair(N, make_pair(-1, cnt))));
    event.push_back(
        make_pair(PT(N + 1, q.u + 1), make_pair(N, make_pair(2, cnt++))));
  }
  sort(event.begin(), event.end(), cmp_overlap_x);
  BitTree* bit = new BitTree(1000006 - 1);
  for (int i = 0; i < event.size(); i++) {
    if (event[i].second.second.first == 0)
      bit->update(event[i].first.y, 1);
    else if (event[i].second.second.first == -1) {
      point_cnt[event[i].second.second.second] =
          bit->query(event[i].first.y + event[i].second.first) -
          bit->query(event[i].first.y - 1);
    } else {
      int indx = event[i].second.second.second;
      point_cnt[indx] = bit->query(event[i].first.y + event[i].second.first) -
                        bit->query(event[i].first.y - 1) - point_cnt[indx];
    }
  }
}
int main() {
  scanf("%d%d", &N, &Q);
  for (int x = 1; x <= N; x++) {
    int y;
    scanf("%d", &y);
    v.push_back(PT(x, y));
  }
  sort(v.begin(), v.end(), x_cmp);
  vx = v;
  int sum = 0;
  for (int i = 0; i < N; i++) {
    int cur = 0;
    int k = i;
    while (v[k].x == v[i].x) {
      cur++;
      i++;
    }
    i--;
    sum += cur;
    less_x[v[k].x] = sum;
  }
  sort(v.begin(), v.end(), y_cmp);
  vy = v;
  sum = 0;
  for (int i = 0; i < N; i++) {
    int cur = 0;
    int k = i;
    while (v[k].y == v[i].y) {
      cur++;
      i++;
    }
    i--;
    sum += cur;
    less_y[v[k].y] = sum;
  }
  long long int ans = 0;
  for (int i = 0; i < Q; i++) {
    int l, d, r, u;
    scanf("%d%d%d%d", &l, &d, &r, &u);
    query.push_back(Query(l, d, r, u));
  }
  overlap();
  for (int i = 0; i < Q; i++) {
    int l = query[i].l, r = query[i].r, d = query[i].d, u = query[i].u;
    long long int LL = smaller_x(l - 1);
    LL = (LL * (LL - 1)) / 2;
    long long int DD = smaller_y(d - 1);
    DD = (DD * (DD - 1)) / 2;
    long long int RR = N - smaller_x(r);
    RR = (RR * (RR - 1)) / 2;
    long long int UU = N - smaller_y(u);
    UU = (UU * (UU - 1)) / 2;
    long long int LD = point_cnt[query[i].LD];
    LD = (LD * (LD - 1)) / 2;
    long long int LU = point_cnt[query[i].LU];
    LU = (LU * (LU - 1)) / 2;
    long long int RD = point_cnt[query[i].RD];
    RD = (RD * (RD - 1)) / 2;
    long long int RU = point_cnt[query[i].RU];
    RU = (RU * (RU - 1)) / 2;
    long long int ans =
        N * (N - 1) / 2 - (LL + DD + RR + UU - LD - LU - RD - RU);
    printf("%d\n", ans);
  }
  return 0;
}
