#include <bits/stdc++.h>
#define ll long long
using namespace std;
int N,K;
char S[200005],slova[30];
map<string,bool>posecenost;
bool posecen[30];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin>>N>>K;
    for(int i=1;i<=N;i++)cin>>S[i];
    for(int i=1;i<=K;i++){slova[i]=char(i+96);}
    string neo="a";

    string f;
    for(int i=1;i<=N;i++){
            bool stop=false;
    string nc=neo;
        f.push_back(S[i]);
        posecen[S[i]-96]=true;
        if(f.find(nc,0)!=string::npos){
//                cout<<f.find(nc,i);
            posecenost[nc]=true;}
        else{
            cout<<nc.size()<<" ";
            continue;
        }
            int vel=neo.size();
            int br=0;
           for(int j=1;j<=K;j++)if(!posecen[j]){
            cout<<1<<" ";
            stop=true;
            break;
           }
           if(stop)continue;
           while(posecenost[neo]){
            neo.push_back(slova[++br%K]);
//            cout<<"B "<<br<<endl;
            if(neo.size()>i){
                neo=slova[++br%K];
//                cout<<"A "<<br<<endl;
            }
           }

        if(!posecenost[neo])cout<<neo.size()<<" ";





    }

return 0;
}