#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const double pi = acos(-1.0);
const int K = 3e5 + 7;
const int mod = 1e9 + 7;
int b[K], ff[K];
char sa[K], sb[K];
int main(void) {
  int n, ok = 0, na, nb, nc;
  na = nb = nc = 0;
  cin >> n;
  scanf("%s%s", sa + 1, sb + 1);
  for (int i = 1; i <= n; i++) {
    if (sa[i] == sb[i] && sa[i] == '0')
      b[i] = 0;
    else if (sa[i] != sb[i] && sa[i] == '1')
      b[i] = 1, na++;
    else if (sa[i] != sb[i])
      b[i] = 2, nb++;
    else
      b[i] = 3, nc++;
  }
  if ((na == nb && na == 0 && nc % 2 == 1) || max(na, nb) > n / 2)
    printf("-1\n");
  else {
    int ta, tb, tc, sp = 1;
    if (na < nb) sp = 0, swap(na, nb);
    if (nb + nc <= na)
      ta = nb + nc, tb = 0, tc = n / 2 - ta;
    else {
      ta = na - ((nc - na + nb) & 1);
      tb = (nc - na + nb + 1) / 2;
      tc = n / 2 - ta - tb;
    }
    for (int i = 1, ca = 0, cb = 0, cc = 0; i <= n; i++)
      if (b[i] == 1 && sp && ca < ta)
        ff[i] = 1, ca++;
      else if (b[i] == 2 && !sp && ca < ta)
        ff[i] = 1, ca++;
      else if (b[i] == 3 && cb < tb)
        ff[i] = 1, cb++;
      else if (b[i] == 0 && cc < tc)
        ff[i] = 1, cc++;
    for (int i = 1; i <= n; i++)
      if ((sp && ff[i]) || (!sp && !ff[i])) printf("%d ", i);
  }
  cout << endl;
  return 0;
}
