func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long maxn = 205;   long long dp[maxn][maxn][maxn];   long long n;   string s, t;   long long recur(long long pos, long long changes, long long sum) {     if (pos == n) return 0;     if (dp[pos][changes][sum] != -1) return dp[pos][changes][sum];     long long res = recur(pos + 1, changes, sum);     if (s[pos] == t[0]) res = max(res, recur(pos + 1, changes, sum + 1));     if (s[pos] == t[1]) res = max(res, recur(pos + 1, changes, sum) + sum);     if (s[pos] == t[0] && s[pos] == t[1])       res = max(res, recur(pos + 1, changes, sum + 1) + sum);     if (changes > 0) {       res = max(res, recur(pos + 1, changes - 1, sum + 1));       res = max(res, recur(pos + 1, changes - 1, sum) + sum);       if (t[0] == t[1])         res = max(res, recur(pos + 1, changes - 1, sum + 1) + sum);     }     dp[pos][changes][sum] = res;     return res;   }   signed main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     for (long long i = 0; i < maxn; i++)       for (long long j = 0; j < maxn; j++)         for (long long k = 0; k < maxn; k++) dp[i][j][k] = -1;     long long k;     cin >> n >> k >> s >> t;     long long res = recur(0, k, 0);     cout << res <<   n ;   }   