#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);
int ans = 0;
bool c[3];
for (int i = 0; i < n; ++i) {
int idx = s[i] - 'A';
if (!c[idx]) {
c[idx] = true;
}
bool ok = true;
for (int j = 0; j < 3; ++j) {
if (c[j] == false) {
ok = false;
}
}
if (ok) {
ans++;
memset(c, false, sizeof c);
}
}
pril(ans);
}