#include <bits/stdc++.h>
using namespace std;
const int MAXSIZE = 1e5 + 10;
char s1[MAXSIZE];
char s2[MAXSIZE];
char s3[MAXSIZE];
int n, t;
int d1, d2;
int sd;
int main() {
  scanf("%d %d", &n, &t);
  getchar();
  fgets(s1, n + 1, stdin);
  getchar();
  fgets(s2, n + 1, stdin);
  int same, diff;
  same = diff = 0;
  for (int i = 0; i < n; i++) {
    if (s1[i] == s2[i]) {
      same++;
    } else {
      diff++;
    }
  }
  if (t < ((diff + 1) / 2)) {
    printf("-1\n");
    return 0;
  }
  if (t > diff) {
    d1 = d2 = 0;
    sd = t - diff;
  } else {
    d1 = d2 = diff - t;
    sd = 0;
  }
  for (int i = 0; i < n; i++) {
    if (s1[i] == s2[i]) {
      if (sd) {
        s3[i] = "ab"[s1[i] == 'a'];
        sd--;
      } else {
        s3[i] = s1[i];
      }
    } else {
      if (d1) {
        s3[i] = s2[i];
        d1--;
        continue;
      }
      if (d2) {
        s3[i] = s1[i];
        d2--;
        continue;
      }
      char c = 'a';
      while (c == s1[i] or c == s2[i]) c++;
      s3[i] = c;
    }
  }
  printf("%s\n", s3);
  return 0;
}
