#include <bits/stdc++.h>
using namespace std;
long long mpow(long long a, long long b, long long p) {
  long long ans = 1;
  a %= p;
  while (b) {
    if (b & 1) ans = ans * a % p;
    a = a * a % p;
    b >>= 1;
  }
  return ans;
}
long long gcd(long long a, long long b) {
  if (a > b) {
    long long t = a;
    a = b;
    b = t;
  }
  while (b % a) {
    long long t = a;
    a = b % a;
    b = t;
  }
  return a;
}
int n;
char ch;
int a[5001], c[5001], cnt[4], ans[4], sum = 0;
int cf[4];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  memset(cnt, 0, sizeof(cnt));
  cin >> n;
  sum = n / 2;
  for (long long i = (0); i < (n); ++i) {
    cin >> ch;
    a[i + 1] = ch - '0';
  }
  for (long long i = (0); i < (n); ++i) {
    cin >> ch;
    c[i + 1] = ch - '0';
  }
  for (long long i = (1); i < (n + 1); ++i) {
    if (!a[i] && !c[i])
      cnt[0]++;
    else if (a[i] && !c[i])
      cnt[1]++;
    else if (!a[i] && c[i])
      cnt[2]++;
    else
      cnt[3]++;
  }
  int x, d;
  for (long long i = (0); i < (4); ++i) cf[i] = cnt[i];
  if (cnt[1] <= cnt[2]) {
    x = 1;
    d = 2;
  } else {
    x = 2;
    d = 1;
  }
  ans[x] = cnt[x];
  sum -= ans[x];
  if (cnt[d] > n / 2) {
    ans[d] = cnt[d] - n / 2;
    sum -= ans[d];
    cnt[d] = n / 2;
  }
  if (cnt[x] + sum < cnt[d]) {
    cout << -1 << endl;
    return 0;
  }
  ans[3] = min(cnt[d] - cnt[x], cnt[3]);
  cnt[x] += ans[3];
  cnt[3] -= ans[3];
  sum -= ans[3];
  if (cnt[x] < cnt[d]) {
    auto dif = cnt[d] - cnt[x];
    ans[d] = dif;
    sum -= dif;
    ans[0] = sum;
  } else {
    int tk = cnt[3] / 2;
    ans[3] += tk;
    sum -= tk;
    cnt[3] -= tk * 2;
    cnt[1] += tk;
    cnt[2] += tk;
    if (cnt[3]) {
      if (ans[x]) {
        ans[x]--;
        ans[3]++;
      } else {
        cout << -1 << endl;
        return 0;
      }
    }
    ans[0] = sum;
  }
  if (d == 1) {
    for (long long i = (0); i < (4); ++i) ans[i] = cf[i] - ans[i];
  }
  for (long long i = (1); i < (n + 1); ++i) {
    if (!a[i] && !c[i]) {
      if (ans[0]) {
        cout << i << ' ';
        ans[0]--;
      }
    } else if (a[i] && !c[i]) {
      if (ans[1]) {
        cout << i << ' ';
        ans[1]--;
      }
    } else if (!a[i] && c[i]) {
      if (ans[2]) {
        cout << i << ' ';
        ans[2]--;
      }
    } else {
      if (ans[3]) {
        cout << i << ' ';
        ans[3]--;
      }
    }
  }
  cout << endl;
  return 0;
}
