#include <bits/stdc++.h>
using namespace std;
template <class T>
void swaper(T &a, T &b) {
  T c = a;
  a = b;
  b = c;
}
template <class T>
T GCD(T a, T b) {
  if (b == 0)
    return a;
  else
    return GCD(b, a % b);
}
template <class T>
T MulMod(T a, T b, T mod) {
  T x, y;
  x = 0;
  y = a;
  while (b > 0) {
    if (b & 1) x = (x + y) % mod;
    y = (y << 1) % mod;
    b >>= 1;
  }
  return x;
}
template <class T>
T PowMod(T a, T b, T mod) {
  T x, y;
  x = 1;
  y = a;
  while (b > 0) {
    if (b & 1) x = (x * y) % mod;
    y = (y * y) % mod;
    b >>= 1;
  }
  return x;
}
template <class T>
T Multiply(T a, T b) {
  T x, y;
  x = 0;
  y = a;
  while (b > 0) {
    if (b & 1) x = (x + y);
    y = (y << 1);
    b >>= 1;
  }
  return x;
}
template <class T>
T Power(T a, T b) {
  T x, y;
  x = 1;
  y = a;
  while (b > 0) {
    if (b & 1) x = (x * y);
    y = (y * y);
    b >>= 1;
  }
  return x;
}
const int MAX = 1e6 + 10;
const long long int MOD7 = 1e9 + 7;
const long long int MOD9 = 1e9 + 9;
int main() {
  int n;
  cin >> n;
  string a, b;
  cin >> a;
  cin >> b;
  int na, nb, n0, nab;
  na = nb = n0 = nab = 0;
  for (int i = 0; i < n; ++i) {
    if (a[i] == '1' && b[i] == '1')
      nab++;
    else if (a[i] == '0' && b[i] == '0')
      n0++;
    else {
      na += (a[i] == '1');
      nb += (b[i] == '1');
    }
  }
  int flag = false;
  for (int i = na; i >= 0; --i) {
    for (int j = 0; j <= nb; ++j) {
      int d = (nb + nab) - (i + j);
      if (d < 0 || (d & 1)) continue;
      d = d / 2;
      int c = (n / 2) - (i + j + d);
      if (d >= 0 && d <= nab && c >= 0 && c <= n0 &&
          i + d == (nb - j) + (nab - d)) {
        for (int k = 0; k < n; ++k) {
          if (a[k] == '1' && b[k] == '1' && d) {
            cout << k + 1 << " ";
            --d;
          } else if (a[k] == '0' && b[k] == '0' && c) {
            cout << k + 1 << " ";
            --c;
          } else if (a[k] == '1' && b[k] == '0' && i) {
            cout << k + 1 << " ";
            --i;
          } else if (b[k] == '1' && a[k] == '0' && j) {
            cout << k + 1 << " ";
            --j;
          }
        }
        flag = true;
        goto stop;
      }
    }
  }
stop:
  if (!flag) cout << -1;
  cout << endl;
  return 0;
}
