#include <bits/stdc++.h>
using namespace std;
template <class T>
inline bool uin(T& a, T b) {
  return a > b ? (a = b, true) : false;
}
template <class T>
inline bool uax(T& a, T b) {
  return a < b ? (a = b, true) : false;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long N, K;
  cin >> N >> K;
  if (K == 1) {
    cout << N << '\n';
    return 0;
  }
  string be, en;
  cin >> be >> en;
  long long ans = 0, cur = 1;
  for (int i = 0; i < N; ++i) {
    cur *= 2LL;
    if (be[i] == 'b') --cur;
    if (en[i] == 'a') --cur;
    uin(cur, K);
    ans += cur;
  }
  cout << ans << '\n';
}
