#include <bits/stdc++.h>

using namespace std;
ifstream f("caps.in");
ofstream g("caps.out");

char s[100002];
int ap_inv[150]= {0};

char caps(char a)
{
    if (a>=97)
    {
        return a-('a'-'A');
    }
    else return a+('a'-'A');
}

int main()
{
    int len,q,n,inversiune,index,ap;
    f>>len>>q>>s;
    for (int i=0; i<len; i++)
    {
        ap_inv[s[i]]+=2;
        ap_inv[caps(s[i])]+=2;
    }
    for (int i=0; i<q; i++)
    {
        f>>n;
        n--;
        inversiune=n/len;
        index=n%len;
        ap=(inversiune/4)*ap_inv[s[index]];
        switch(inversiune%4)
        {
        case 0:
            for (int i=0; i<=index; i++)
            {
                if (s[i]==s[index]) ap++;
            }
            g<<s[index]<<" "<<ap<<"\n";
            break;
        case 1:
            for (int i=0; i<=index+len; i++)
            {
                if (i<len)
                {
                    if (s[i]==caps(s[index])) ap++;
                }
                else
                {
                    if (caps(s[i-len])==s[index]) ap++;
                }
            }
            g<<caps(s[index])<<" "<<ap<<"\n";
            break;
        case 2:

            g<<caps(s[index])<<" "<<ap<<"\n";
            break;
        case 3:

            g<<s[index]<<" "<<ap<<"\n";
            break;
        }
    }
    f.close();
    g.close();
    return 0;
}
