#include using namespace std; #define REP(i,a,b) for(i=a;i=0;i--){ while(j >= 0 && cnt[S[j]]+1 <= K) cnt[S[j--]]++; toR[i] = j+1; cnt[S[i]]--; } sum[0] = 0; rep(i,N) sum[i+1] = sum[i] + toL[i]; while(Q--){ scanf("%d%d",&L,&R); L--; R--; k = toR[R] - 1; if(L <= k){ res = sum[k+1] - sum[L] + (ll)(R - k) * R; res -= (ll)(L+R-2) * (R-L+1) / 2; } else { res = (ll)(R-L+2) * (R-L+1) / 2; } printf("%lld\n", res); } } return 0; }