#include <bits/stdc++.h>   char s1[100100], s2[100100], s3[100100];   bool dist[100100];   int pos[100100];   int main() {     int n, t, i;     int num = 0, po = 0;     memset(dist, false, sizeof(dist));     scanf( %d%d , &n, &t);     scanf( %s%s , s1, s2);     for (i = 0; i < n; i++) s3[i] =  1 ;     for (i = 0; i < n; i++) {       if (s1[i] == s2[i]) {         dist[i] = true;         pos[po++] = i;         num += 2;       } else         num++;     }     if (num < 2 * (n - t))       printf( -1 n );     else {       int j = 0;       int l = n - t;       while (l > 0 && j < po) {         s3[pos[j]] = s1[pos[j]];         j++;         l--;       }       for (i = 0; i < n; i++) {         if (l > 0) {           while (s3[i] !=  1 ) i++;           s3[i] = s1[i];           while (s3[i] !=  1 ) i++;           s3[i] = s2[i];           l--;           i--;         } else if (s3[i] ==  1 ) {           char ch =  a ;           while (ch == s1[i] || ch == s2[i]) ch++;           s3[i] = ch;         }       }       s3[n] =   0 ;       printf( %s n , s3);       return 0;     }   }   