#include <bits/stdc++.h>
using namespace std;
long long n, m, s, p[100005];
char a[100005], b[100005], c[100005];
signed main() {
  scanf("%lld%lld%s%s", &n, &m, a + 1, b + 1);
  for (long long i = 1; i <= n; i++)
    if (a[i] != b[i]) p[++s] = i;
  if (m < (s + 1) / 2) return puts("-1"), 0;
  if (m >= s) {
    for (long long i = 1; i <= s; i++)
      for (char j = 'a'; j <= 'z'; j++)
        if (j != a[p[i]] && j != b[p[i]]) c[p[i]] = j;
    m -= s, s = 0;
    for (long long i = 1; i <= n; i++) {
      if (c[i] > 0) continue;
      s++;
      if (s <= m) {
        for (char j = 'a'; j <= 'z'; j++)
          if (j != a[i] && j != b[i]) c[i] = j;
      } else
        c[i] = a[i];
    }
  } else {
    long long cnt = s - m;
    for (long long i = 1; i <= cnt * 2; i++)
      c[p[i]] = (i & 1 ? a[p[i]] : b[p[i]]);
    for (long long i = cnt * 2 + 1; i <= s; i++)
      for (char j = 'a'; j <= 'z'; j++)
        if (j != a[p[i]] && j != b[p[i]]) c[p[i]] = j;
    for (long long i = 1; i <= n; i++)
      if (!c[i]) c[i] = a[i];
  }
  for (long long i = 1; i <= n; i++) cout << c[i];
  return puts(""), 0;
}
