#include using namespace std; int main() { int N, Q; cin >> N >> Q; vector A(N); map mp; for (int i = 0; i < N; i++) { cin >> A[i]; mp[A[i]]++; } vector B = A; sort(B.begin(), B.end()); int now = 0; while (Q--) { int x, y; cin >> x >> y; x--; y--; int idx_y = upper_bound(B.begin(), B.end(), A[y]) - B.begin(); int idx_x = lower_bound(B.begin(), B.end(), A[x]) - B.begin() - 1; cout << max(idx_x - idx_y + 1, 0) << "\n"; } }