#include using namespace std; int main() { int N,Q; cin >> N >> Q; vector> A(N); for(int i=0; i> a; A.at(i) = {a,i}; } sort(A.begin(),A.end()); vector rev(N); for(int i=0; i> x >> y; x--; y--; auto [a1,ig] = A.at(rev.at(x)); auto [a2,ign] = A.at(rev.at(y)); if(a1 <= a2){cout << 0 << endl; continue;} int pos1 = upper_bound(A.begin(),A.end(),make_pair(a2,N+1))-A.begin(); int pos2 = lower_bound(A.begin(),A.end(),make_pair(a1,-1))-A.begin(); cout << pos2-pos1 << endl; } }