#include #include using namespace std; using namespace atcoder; using ll = long long; int main() { ll N, Q; cin >> N >> Q; vector A(N); vector> B(N); for (ll i = 0; i < N; i++) { cin >> A[i]; A[i] = -A[i]; B[i] = {A[i], i}; } sort(B.begin(), B.end()); for (ll q = 0; q < Q; q++) { ll x, y; cin >> x >> y; x--; y--; ll p1 = A[x]; ll p2 = A[y]; ll xi = lower_bound(B.begin(), B.end(), make_pair(p1, N)) - B.begin(); ll yi = lower_bound(B.begin(), B.end(), make_pair(p2 - 1, N)) - B.begin(); cout << max(yi - xi, 0LL) << endl; } return 0; }