func_code_string: #include <bits/stdc++.h>   using namespace std;   void optimizeIO() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);   }   int main() {     optimizeIO();     int n, t;     cin >> n >> t;     string s1, s2, s3;     cin >> s1 >> s2;     s3 = s1;     int sa = 0;     vector<int> v, v2;     for (typeof(n) i = 0; i < n; i++) {       if (s1[i] == s2[i]) {         sa++;         v.push_back(i);       } else         v2.push_back(i);     }     if (n - sa < 2 * (n - t - sa))       cout <<  -1 n ;     else {       if ((n - t) < sa) {         int i1 = 0, i2 = 0;         int dd = n - t;         for (typeof(n) i = 0; i < n; i++) {           if (v[i1] == i && dd) {             s3[i] = s1[i];             dd--;             i1++;           } else {             if (abs(s1[i] - s2[i]) > 1) {               s3[i] = min(s1[i], s2[i]) + 1;             } else {               if (max(s1[i], s2[i]) ==  z )                 s3[i] =  a ;               else                 s3[i] =  z ;             }           }         }       } else {         int i1 = 0;         int dd = n - t, c = 0;         int d1 = n - t - sa, d2 = n - t - sa;         for (typeof(n) i = 0; i < n; i++) {           if (i1 < int((v).size())) {             if (v[i1] == i) {               s3[i] = s1[i];               i1++;               continue;             }           }           if (d1) {             s3[i] = s1[i];             d1--;             continue;           }           if (d2) {             s3[i] = s2[i];             d2--;             continue;           }           if (d1 == 0 && d2 == 0) {             if (abs(s1[i] - s2[i]) > 1) {               s3[i] = min(s1[i], s2[i]) + 1;             } else {               if (max(s1[i], s2[i]) ==  z )                 s3[i] =  a ;               else                 s3[i] =  z ;             }           }         }       }       cout << s3 << endl;     }     return 0;   }   