#include #pragma comment(linker, "/stack:200000000") #pragma GCC optimize("Ofast") #pragma target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #define int ll using namespace std; typedef long long ll; #define Rep(i,a,b) for(register int i=(a);i<=int(b);++i) #define Dep(i,a,b) for(register int i=(a);i>=int(b);--i) #define rep(i,a,b) for(register int i=(a);i=10)write(x/10);putchar(x%10+'0');} void writeln(ll x){write(x);puts("");} const int maxn = 1e5+233; int T,n,q; int a[maxn],sum[maxn][26]; signed main(){ int T = rd(); for(int Case=1;Case<=T;++Case){ printf("Case #%d:\n",Case); n = rd(),q = rd(); Rep(i,1,n){ a[i] = gc(); if(a[i] < 'A' || a[i] > 'Z') a[i] = gc(); rep(j,0,26){ sum[i][j] = sum[i-1][j] + ((a[i]-'A') == j); } } while(q--){ int l = rd(),r = rd(); rep(i,0,26){ if(sum[r][i] - sum[l-1][i] != 0){ writeln(sum[r][i] - sum[l-1][i]); break; } } } } return 0; }