#include <bits/stdc++.h>
using namespace std;

int main() {
  int N, Q;
  cin >> N >> Q;
  vector<int> A(N), B(N);
  for(int i = 0; i < N; i++) {
    cin >> A[i];
    B[i] = A[i];
  }
  sort(B.begin(), B.end());
  for(int q = 0; q < Q; q++) {
    int x, y;
    cin >> x >> y;
    x--, y--;
    int l = upper_bound(B.begin(), B.end(), A[y])-B.begin();
    int r = lower_bound(B.begin(), B.end(), A[x])-B.begin();
    cout << max(0, r-l) << endl;
  }
}