#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int n;
  cin >> n;
  vector<int> clown(n), acrobat(n);
  {
    string tmp;
    cin >> tmp;
    for (int i = 0; i < n; i++) clown[i] = tmp[i] - '0';
  }
  {
    string tmp;
    cin >> tmp;
    for (int i = 0; i < n; i++) acrobat[i] = tmp[i] - '0';
  }
  int dmax = 0;
  int cmax = 0;
  int bmax = 0;
  int amax = 0;
  for (int i = 0; i < n; i++) {
    if (clown[i] == 1 && acrobat[i] == 1)
      dmax++;
    else if (clown[i] == 0 && acrobat[i] == 1)
      bmax++;
    else if (clown[i] == 1 && acrobat[i] == 0)
      cmax++;
    else
      amax++;
  }
  int a, b, c, d;
  bool flg = false;
  for (c = 0; c <= cmax; c++) {
    for (d = 0; d <= dmax; d++) {
      b = bmax + dmax - c - 2 * d;
      a = n / 2 - b - c - d;
      if (0 <= a && a <= amax && 0 <= b && b <= bmax) {
        flg = true;
      }
      if (flg) break;
    }
    if (flg) break;
  }
  if (flg == false) {
    cout << -1 << endl;
  } else {
    vector<int> ans;
    for (int i = 0; i < n; i++) {
      if (clown[i] == 1 && acrobat[i] == 1 && d > 0) {
        ans.push_back(i + 1);
        d--;
      } else if (clown[i] == 0 && acrobat[i] == 1 && b > 0) {
        ans.push_back(i + 1);
        b--;
      } else if (clown[i] == 1 && acrobat[i] == 0 && c > 0) {
        ans.push_back(i + 1);
        c--;
      } else if (clown[i] == 0 && acrobat[i] == 0 && a > 0) {
        ans.push_back(i + 1);
        a--;
      };
    }
    for (int i = 0; i < ans.size(); i++) {
      cout << ans[i];
      if (i == ans.size() - 1)
        cout << '\n';
      else
        cout << " ";
    }
  }
}
