func_code_string: #include <bits/stdc++.h>   using namespace std;   char dif(char c1) {     if (c1 ==  a ) return  b ;     return  a ;   }   char dif2(char c1, char c2) {     if (c1 !=  a  && c2 !=  a ) return  a ;     if (c1 !=  b  && c2 !=  b ) return  b ;     return  c ;   }   int main() {     int n, t;     cin >> n >> t;     string s1, s2;     cin >> s1 >> s2;     vector<int> com;     vector<int> nocom;     for (long long i = 0; i < (n); i++)       if (s1[i] == s2[i])         com.push_back(i);       else         nocom.push_back(i);     int comsz = com.size();     int nocomsz = nocom.size();     if (!(2 * t >= nocomsz)) {       cout << -1 << endl;       return 0;     }     string s3 = s1;     if (nocomsz & 1) {       int ind = nocom[nocomsz - 1];       s3[ind] = dif2(s1[ind], s2[ind]);       t--;     }     for (int i = 0; (i + 1 < nocomsz) && t > 0; i += 2) {       int ind1 = nocom[i];       s3[ind1] = s2[ind1];       int ind2 = nocom[i + 1];       s3[ind2] = s1[ind2];       t--;     }     for (int i = 0; i < comsz && t > 0; i++) {       int ind = com[i];       s3[ind] = dif(s1[ind]);       t--;     }     for (int i = 0; (i + 1 < nocomsz) && t > 0; i += 2) {       int ind1 = nocom[i];       int ind2 = nocom[i + 1];       s3[ind1] = dif2(s1[ind1], s2[ind1]);       s3[ind2] = dif2(s1[ind2], s2[ind2]);       t--;     }     cout << s3 << endl;   }   