#include <bits/stdc++.h>
using namespace std;

typedef long long LL;
const int MAXN = 100000 + 10, seed = 137;

char S[MAXN];
LL P[MAXN], H[MAXN];
int N, M, L, ret;

void gao(int st) {
    map<LL, int> mp; mp.clear();
    vector<LL> v; v.clear();
    for (int i = st; i + L <= N; i += L) {
        v.push_back(H[i] - P[L] * H[i + L]);
    }
    for (int i = 0, j = 0, cnt = 0, n = v.size(); i < n; ++ i) {
        while (j - i < M && j < n) {
            if (mp[v[j]] == 0) ++ cnt;
            mp[v[j]] ++; ++ j;
        }
        mp[v[i]] --; ret += (cnt == M);
        if (mp[v[i]] == 0) -- cnt;
    }
}

int main() {
    for (int i = 0; i < MAXN; ++ i) P[i] = i ? P[i - 1] * seed : 1;
    while (scanf("%d%d", &M, &L) == 2) {
        scanf("%s", S); N = strlen(S);
        H[N] = 0; ret = 0;
        for (int i = N - 1; i >= 0; -- i) H[i] = H[i + 1] * seed + S[i];
        for (int i = 0; i < L; ++ i) gao(i);
        printf("%d\n", ret);
    }
    return 0;
}
