#include <bits/stdc++.h>
using namespace std;
set <char> svaslova (int k, int br)
{
    set <char> rez;
        if (br==0 && br<k)
        {
            rez.insert('a');
             br++;
        }
        if (br==1 && br<k)
        {
            rez.insert('b');
            br++;
        }
        if (br==2 && br<k)
        {
            rez.insert('c');
             br++;
        }
        if (br==3 && br<k)
        {
            rez.insert('d');
             br++;
        }
        if (br==4 && br<k)
        {
            rez.insert('e');
             br++;
        }
        if (br==5 && br<k)
        {
            rez.insert('f');
             br++;
        }
        if (br==6 && br<k)
        {
            rez.insert('g');
             br++;
        }
        if (br==7 && br<k)
        {
            rez.insert('h');
             br++;
        }
        if (br==8 && br<k)
        {
            rez.insert('i');
             br++;
        }
        if (br==9 && br<k)
        {
            rez.insert('j');
             br++;
        }
        if (br==10 && br<k)
        {
            rez.insert('k');
             br++;
        }
        if (br==11 && br<k)
        {
            rez.insert('l');
             br++;
        }
        if (br==12 && br<k)
        {
            rez.insert('m');
             br++;
        }
        if (br==13 && br<k)
        {
            rez.insert('n');
             br++;
        }
        if (br==14 && br<k)
        {
            rez.insert('o');
             br++;
        }
        if (br==15 && br<k)
        {
            rez.insert('p');
             br++;
        }
        if (br==16 && br<k)
        {
            rez.insert('q');
             br++;
        }
        if (br==17 && br<k)
        {
            rez.insert('r');
             br++;
        }
        if (br==18 && br<k)
        {
            rez.insert('s');
             br++;
        }
        if (br==19 && br<k)
        {
            rez.insert('t');
             br++;
        }
        if (br==20 && br<k)
        {
            rez.insert('u');
             br++;
        }
        if (br==21 && br<k)
        {
            rez.insert('v');
             br++;
        }
        if (br==22 && br<k)
        {
            rez.insert('w');
             br++;
        }
        if (br==23 && br<k)
        {
            rez.insert('x');
             br++;
        }
        if (br==24 && br<k)
        {
            rez.insert('y');
             br++;
        }
        if (br==25 && br<k)
        {
            rez.insert('z');
             br++;
        }
        return rez;
}
int main()
{
    int n, k;
    cin>>n>>k;
    string s;
    cin>>s;
    set <char> abc=svaslova(k, 0);
    set <char> abcpom=abc;
    int br=1;
    for (int i=0; i<n; i++)
    {
        if (abcpom.find(s[i])!=abcpom.end()) abcpom.erase(s[i]);
        if (abcpom.size()==0)
        {
            br++;
            abcpom=abc;
        }
        cout<<br<<" ";
    }
    return 0;
}