#include <bits/stdc++.h>
using namespace std;
string alpha = "abcdefghijklmnopqrstuvwxyz";
const long long mod = 1e9 + 7;
const long long inf = 1e18 + 5;
const long long nax = 101010;
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  string C;
  string A;
  cin >> n >> C >> A;
  long long na, nb, nc, nd, a, b, c, d;
  na = nb = nc = nd = 0;
  for (long long i = (0); i < (n); i++) {
    if (C[i] == '0' && A[i] == '0') ++na;
    if (C[i] == '0' && A[i] == '1') ++nb;
    if (C[i] == '1' && A[i] == '0') ++nc;
    if (C[i] == '1' && A[i] == '1') ++nd;
  }
  bool done = false;
  for (b = 0; b <= nb; ++b) {
    for (c = 0; c <= nc; ++c) {
      long long z = nb + nd - b - c;
      if (z % 2 == 0) {
        d = z / 2;
        if (d <= nd && d >= 0) {
          a = (n / 2) - b - c - d;
          if (a <= na && a >= 0) {
            done = true;
          }
        }
      }
      if (done) break;
    }
    if (done) break;
  }
  if (!done) {
    cout << -1;
    exit(0);
  }
  vector<long long> res;
  long long i = 0;
  while (a > 0 || b > 0 || c > 0 || d > 0) {
    if (C[i] == '0' && A[i] == '0' && a > 0) {
      --a;
      res.push_back(i + 1);
    }
    if (C[i] == '0' && A[i] == '1' && b > 0) {
      --b;
      res.push_back(i + 1);
    }
    if (C[i] == '1' && A[i] == '0' && c > 0) {
      --c;
      res.push_back(i + 1);
    }
    if (C[i] == '1' && A[i] == '1' && d > 0) {
      --d;
      res.push_back(i + 1);
    }
    ++i;
  }
  for (long long x : res) cout << x << " ";
  return 0;
}
