#include <bits/stdc++.h>
using namespace std;
const int maxn = 5005;
int n;
vector<int> cl, ac, fl, ta;
string ac_str, cl_str;
void input() {
  cin >> n;
  cin >> cl_str;
  cin >> ac_str;
  for (int i = 0; i < n; i++) {
    if (ac_str[i] == '1' && cl_str[i] == '1') {
      fl.push_back(i);
    } else if (ac_str[i] == '1' && cl_str[i] == '0') {
      ac.push_back(i);
    } else if (cl_str[i] == '1') {
      cl.push_back(i);
    } else {
      ta.push_back(i);
    }
  }
}
int look_for(vector<int>& search_v, vector<bool>& pos, bool goal) {
  for (int i = 0; i < search_v.size(); i++) {
    if (pos[search_v[i]] == goal) return search_v[i];
  }
  return -1;
}
bool valid_move(vector<int>& side_1, vector<int>& side_2, vector<bool>& pos) {
  int id_1 = look_for(side_1, pos, true);
  int id_2 = look_for(side_2, pos, false);
  if (id_1 != -1 && id_2 != -1) {
    pos[id_1] = false;
    pos[id_2] = true;
    return true;
  } else {
    return false;
  }
}
bool can_move(vector<bool>& pos, int& acro, int& clown) {
  int acro_id = -1, clown_id = -1;
  if (acro - clown >= 2) {
    if (valid_move(fl, ta, pos)) {
      acro--;
      clown++;
      return true;
    }
  } else if (clown - acro >= 2) {
    if (valid_move(ta, fl, pos)) {
      acro++;
      clown--;
      return true;
    }
  }
  if (acro > clown) {
    if (valid_move(ac, ta, pos) || valid_move(fl, cl, pos)) {
      acro--;
      return true;
    } else if (valid_move(cl, ta, pos) || valid_move(fl, ac, pos)) {
      clown++;
      return true;
    }
  } else {
    if (valid_move(ta, ac, pos) || valid_move(cl, fl, pos)) {
      acro++;
      return true;
    } else if (valid_move(ta, cl, pos) || valid_move(ac, fl, pos)) {
      clown--;
      return true;
    }
  }
  return false;
}
void solve() {
  vector<bool> pos(n, false);
  int acro = 0, clown = 0;
  for (int i = 0; i < n / 2; i++) {
    pos[i] = true;
    acro += (ac_str[i] == '1');
  }
  for (int i = n / 2; i < n; i++) {
    clown += (cl_str[i] == '1');
  }
  while (acro != clown && can_move(pos, acro, clown))
    ;
  if (acro == clown) {
    for (int i = 0; i < n; i++) {
      if (!pos[i]) {
        cout << i + 1 << " ";
      }
    }
    cout << endl;
  } else {
    cout << -1 << endl;
  }
}
int main() {
  input();
  solve();
}
