#include <iostream>
#include <string>
#include <math.h>
#include <map>
#include <algorithm>
#include <vector>
#include <fstream>
#include <set>
#include <unordered_map>
#include <queue>
#include <climits>
#include <stack>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define LOOP(i,a,l) for (int i = a; i < l; i++)
#define LUO_VERKKO LOOP(i,0,m) {int a,b; cin >> a >> b; v[a].push_back(b); v[b].push_back(a);}
#define COLLECT for (int i = 0; i < n; i++) cin >> s[i]
#define PRINT_LIST(l) for (int i = 0; i < l.size(); i++) cout << l[i] << " "
#define S second
#define F first
#define A 999999999999999999LL
#define M 1000000007
//https://cses.fi/dt/
int n;
int t;
#define N (1<<17)
int main() {
cin >> n;
int k; cin >> k;
if (k < 3) {
cout << 0;
exit(0);
}
string s; cin >> s;
bool a = false;
bool b = false;
bool c = false;
int tulos = 0;
for (int i = 0; i < n; i++)
{
char ch = s[i];
if (ch == 'A') a = true;
if (ch == 'B') b = true;
if (ch == 'C') c = true;
if (a && b && c) {
tulos++;
a = false; b = false; c = false;
}
}
cout << tulos;
}