#include <bits/stdc++.h>
using namespace std;
vector<pair<char, pair<long long, long long> > > v(0);
long long n, k;
string s, t;
long long q[2][2];
long long s1[2][2];
void qwe(long long ks) {
  s1[0][0] = 0;
  s1[0][1] = 0;
  s1[1][0] = 0;
  s1[1][1] = 0;
  s1[1][1] += 2 * q[1][1];
  if (s[ks] == t[ks]) {
    s1[0][0] += q[0][0];
  } else {
    s1[1][0] += q[0][0];
    s1[0][1] += q[0][0];
  }
  if (t[ks] == 'a') {
    s1[1][0] += q[1][0];
  } else {
    s1[1][1] += q[1][0];
    s1[1][0] += q[1][0];
  }
  if (s[ks] == 'b') {
    s1[0][1] += q[0][1];
  } else {
    s1[1][1] += q[0][1];
    s1[0][1] += q[0][1];
  }
  q[0][0] = s1[0][0];
  q[1][0] = s1[1][0];
  q[0][1] = s1[0][1];
  q[1][1] = s1[1][1];
}
signed main() {
  cin >> n >> k;
  cin >> s;
  cin >> t;
  long long ans = 0;
  long long flag = 0;
  q[0][0]++;
  for (long long i = 0; i < n; ++i) {
    qwe(i);
    if (q[0][0] + q[1][0] + q[0][1] + q[1][1] >= k) {
      flag = 1;
    }
    if (flag) {
      ans += k;
    } else {
      ans += q[0][0] + q[1][0] + q[0][1] + q[1][1];
    }
  }
  cout << ans << endl;
}
