#include <bits/stdc++.h>
using namespace std;
const int maxn = 205;
const int inf = 1e9 + 5;
int n, k;
string s, t;
int dp[maxn][maxn][maxn];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cin >> n >> k >> s >> t;
  s = ' ' + s;
  t = ' ' + t;
  memset(dp, -inf, sizeof(dp));
  dp[0][0][0] = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= k; j++) {
      for (int l = 0; l <= i; l++) {
        bool kec = (s[i] == t[1]);
        bool dva = (s[i] == t[2]);
        bool tri = (t[1] == t[2]);
        dp[i][j][l + kec] =
            max(dp[i][j][l + kec], dp[i - 1][j][l] + (dva ? l : 0));
        if (j < k) {
          dp[i][j + 1][l + 1] =
              max(dp[i][j + 1][l + 1], dp[i - 1][j][l] + (tri ? l : 0));
          dp[i][j + 1][l + tri] =
              max(dp[i][j + 1][l + tri], dp[i - 1][j][l] + l);
        }
      }
    }
  }
  int rez = 0;
  for (int i = 0; i <= k; i++) {
    for (int j = 0; j <= n; j++) rez = max(rez, dp[n][i][j]);
  }
  cout << rez << endl;
  return 0;
}
