func_code_string: #include <bits/stdc++.h>   using namespace std;   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ;     long long n;     cin >> n;     string s1, s2;     cin >> s1 >> s2;     long long a = 0, b = 0, c = 0, d = 0;     vector<long long> a1, b1, c1, d1;     for (long long i = 0; i < n; ++i) {       if (s1[i] ==  1  && s2[i] ==  1 ) {         d++;         d1.push_back(i + 1);       }       if (s1[i] ==  1  && s2[i] ==  0 ) {         c++;         c1.push_back(i + 1);       }       if (s1[i] ==  0  && s2[i] ==  1 ) {         b++;         b1.push_back(i + 1);       }       if (s1[i] ==  0  && s2[i] ==  0 ) {         a++;         a1.push_back(i + 1);       }     }     long long x;     for (long long i = 0; i <= min(b, n / 2); ++i) {       for (long long j = 0; j <= min(c, n / 2 - i); ++j) {         if (j < b - i) {           x = b - i - j;           if (x > d || (d - x) % 2) continue;           x = x + (d - x) / 2;           if (x + i + j > n / 2 || (n / 2 - (x + i + j)) > a) continue;         } else {           x = j - b + i;           if (x > d || (d - x) % 2) continue;           x = (d - x) / 2;           if (x + i + j > n / 2 || (n / 2 - (x + i + j)) > a) continue;         }         for (long long u = 0; u < i; ++u) {           cout << b1[u] <<    ;         }         for (long long u = 0; u < j; ++u) {           cout << c1[u] <<    ;         }         for (long long u = 0; u < x; ++u) {           cout << d1[u] <<    ;         }         for (long long u = 0; u < n / 2 - i - j - x; ++u) {           cout << a1[u] <<    ;         }         return 0;       }     }     cout << -1;   }   