#include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define pb push_back
#define vc vector
#define rep(i, a, b) for (int i = a; i < b; ++i)
#define tra(a, x) for (auto &a : x)
#define sz(x) (int)(x).size()
#define all(x) x.begin(), x.end()
template <typename... T> void get(T &...args) { ((cin >> args), ...); }
template <typename... T> void pri(T &&...args) { ((cout << args << " "), ...); }
template <typename... T> void pril(T &&...args) {
((cout << args << " "), ...);
cout << '\n';
}
using ll = long long;
using vi = vc<int>;
using vll = vc<ll>;
using pi = pair<int, int>;
const ll LINF = 1e18;
const int INF = 1e9;
const ll mod = 1e9 + 7;
const int N = 1e6 + 1;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, k;
get(n, k);
string s;
get(s);
if (k < 3) {
pril(0);
return 0;
}
int ans = 0;
set<char> ss;
for (int i = 0; i < n; ++i) {
if (ss.count(s[i]) == 0) {
ss.insert(s[i]);
}
if (ss.size() == 3) {
++ans;
ss.clear();
}
}
pril(ans);
}