#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int k;
cin>>k;
string s;
cin>>s;
int count = 0; // count the number of substrings having atleast 'k' Distinct characters
for(int i=0; i<n; i++)
{
unordered_map<char,int>mp; // I have taken a map which will store its distinct characters and its frequency
for(int j=i; j<n; j++) // In every sliding window problem if you re entering into for loop or while(j<n) both are same we have to do some calculations
{
mp[s[j]] = mp[s[j]] + 1; // increment the map frequency
// mp.size means frequency of the character we are checking not only the frequency
if(mp.size()>=k)
{
int c = n-j;
count = count + c;
break;
}
}
}
cout<<count;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIAp7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKCiAgICBpbnQgazsKICAgIGNpbj4+azsKCiAgICBzdHJpbmcgczsKICAgIGNpbj4+czsKCiAgICBpbnQgY291bnQgPSAwOyAvLyBjb3VudCB0aGUgbnVtYmVyIG9mIHN1YnN0cmluZ3MgaGF2aW5nIGF0bGVhc3QgJ2snIERpc3RpbmN0IGNoYXJhY3RlcnMKCiAgICBmb3IoaW50IGk9MDsgaTxuOyBpKyspCiAgICB7CiAgICAgICAgdW5vcmRlcmVkX21hcDxjaGFyLGludD5tcDsgLy8gSSBoYXZlIHRha2VuIGEgbWFwIHdoaWNoIHdpbGwgc3RvcmUgaXRzIGRpc3RpbmN0IGNoYXJhY3RlcnMgYW5kIGl0cyBmcmVxdWVuY3kKCiAgICAgICAgZm9yKGludCBqPWk7IGo8bjsgaisrKSAgLy8gSW4gZXZlcnkgc2xpZGluZyB3aW5kb3cgcHJvYmxlbSBpZiB5b3UgcmUgZW50ZXJpbmcgaW50byBmb3IgbG9vcCBvciB3aGlsZShqPG4pIGJvdGggYXJlIHNhbWUgd2UgaGF2ZSB0byBkbyBzb21lIGNhbGN1bGF0aW9ucwogICAgICAgIHsKICAgICAgICAgICAgbXBbc1tqXV0gPSBtcFtzW2pdXSArIDE7IC8vIGluY3JlbWVudCB0aGUgbWFwIGZyZXF1ZW5jeSAKCiAgICAgICAgICAgIC8vIG1wLnNpemUgbWVhbnMgZnJlcXVlbmN5IG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGNoZWNraW5nIG5vdCBvbmx5IHRoZSBmcmVxdWVuY3kgCiAgICAgICAgICAgIGlmKG1wLnNpemUoKT49aykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaW50IGMgPSBuLWo7CiAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgYzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgY291dDw8Y291bnQ7Cn0=