#include using namespace std; int a[100005],nx[100005]; vector>v[100005]; int tr[100005],ans[100005]; int lowbit(int x){ return x&(-x); } int n,q; void add(int x,int d){ x++; for(int i=x;i<=n+1;i+=lowbit(i))tr[i]+=d; } int ask(int x){ x++; int res=0; for(int i=x;i;i-=lowbit(i))res+=tr[i]; return res; } int main(){ // freopen("big.in","r",stdin); // freopen("big.out","w",stdout); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>q; for(int i=1;i<=n;i++)cin>>a[i]; stackst; for(int i=1;i<=n;i++){ while(!st.empty()&&a[st.top()]>op>>l>>r; v[r].push_back({l,i}); } for(int i=1;i<=n;i++){ add(nx[i],1); for(auto it:v[i]){ ans[it.second]=ask(it.first-1)-it.first+1; } } for(int i=1;i<=q;i++)cout<