#include <bits/stdc++.h>
using namespace std;
bool sortin(const pair<long long int, long long int> &e,
            const pair<long long int, long long int> &f) {
  return (e.first < f.first);
}
long long int i, j, k, l, m, n, c, p, q, ts, mn = 10e17;
long long int a[200002], b[200002], x[200002];
int main() {
  {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
  };
  cin >> n;
  cin >> m;
  l = n - m;
  string s, t, u, v;
  cin >> s;
  cin >> t;
  v = s;
  for (long long int i = 0; i <= n - 1; i++) u += 'a';
  for (long long int i = 0; i <= n - 1; i++) {
    if (!l) break;
    if (s[i] == t[i])
      u[i] = s[i], v[i] = '.', l--;
    else
      u[i] = 'a';
  }
  if (l) {
    for (long long int i = 0; i <= n - 1; i++) {
      if (v[i] == '.') continue;
      if (c % 2)
        u[i] = s[i], v[i] = '.';
      else
        u[i] = t[i], v[i] = '.';
      c++;
      if (c % 2 == 0) l--;
      if (!l) break;
    }
  }
  if (l) {
    cout << -1;
    return 0;
  }
  for (long long int i = 0; i <= n - 1; i++) {
    if (v[i] == '.') {
      if (s[i] != u[i]) p++;
      if (t[i] != u[i]) q++;
      continue;
    }
    if (s[i] == 'a') {
      u[i] = 'b';
      if (t[i] == 'b') u[i] = 'c';
    } else if (t[i] == 'a') {
      u[i] = 'b';
      if (s[i] == 'b') u[i] = 'c';
    }
    if (s[i] != u[i]) p++;
    if (t[i] != u[i]) q++;
  }
  if (p != m || q != m) {
    cout << -1;
    return 0;
  }
  cout << u;
}
