#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int a[maxn], c[maxn];
vector<int> v[5];
int main() {
  int n;
  cin >> n;
  int len = n / 2;
  for (int i = 1; i <= n; i++) {
    char s;
    cin >> s;
    c[i] = s - '0';
  }
  for (int i = 1; i <= n; i++) {
    char s;
    cin >> s;
    a[i] = s - '0';
  }
  for (int i = 1; i <= n; i++) {
    if (a[i] == 0 && c[i] == 1) v[1].push_back(i);
    if (a[i] == 1 && c[i] == 0) v[2].push_back(i);
    if (a[i] == 1 && c[i] == 1) v[3].push_back(i);
    if (a[i] == 0 && c[i] == 0) v[4].push_back(i);
  }
  int ct1 = v[1].size(), ct2 = v[2].size(), ct3 = v[3].size(),
      ct4 = v[4].size();
  for (int a = 0; a <= ct1; a++) {
    for (int b = 0; b <= ct3; b++) {
      int d = len + b - ct2 - ct3;
      int c = ct2 + ct3 - 2 * b - a;
      if (c >= 0 && c <= ct2 && d >= 0 && d <= ct4) {
        if (a > 0) {
          for (int i = 0; i < a; i++) cout << v[1][i] << ' ';
        }
        if (c > 0) {
          for (int i = 0; i < c; i++) cout << v[2][i] << ' ';
        }
        if (b > 0) {
          for (int i = 0; i < b; i++) cout << v[3][i] << ' ';
        }
        if (d > 0) {
          for (int i = 0; i < d; i++) cout << v[4][i] << ' ';
        }
        return 0;
      }
    }
  }
  cout << -1 << endl;
  return 0;
}
