#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
int n, m;
vector<int> ans[2], pt, ptt, c1, a1;
int sol() {
  for (int i = 0; i <= pt.size(); ++i) {
    int s1 = i, s2 = pt.size() - i;
    if (s1 < s2) {
      if (s2 - s1 <= a1.size()) {
        ans[0].clear();
        for (int j = 0; j < i; j++) {
          ans[0].push_back(pt[j]);
        }
        int b = s2 - s1;
        for (int j = 0; j < min(b, (int)a1.size()); ++j) {
          ans[0].push_back(a1[j]);
        }
        if (ans[0].size() > n / 2) continue;
        for (int j = 0; j < c1.size(); ++j) {
          ans[0].push_back(c1[j]);
        }
        for (int j = 0; j < ptt.size(); ++j) {
          if (ans[0].size() >= n / 2) break;
          ans[0].push_back(ptt[j]);
        }
        if (ans[0].size() != n / 2) continue;
        return 1;
      }
    } else if (s1 > s2) {
      if (s1 - s2 <= c1.size()) {
        if (s1 + (c1.size() - (s1 - s2)) + ptt.size() >= n / 2) {
          ans[0].clear();
          for (int j = 0; j < i; j++) {
            ans[0].push_back(pt[j]);
          }
          int b = s1 - s2;
          for (int j = b; j < c1.size(); ++j) {
            ans[0].push_back(c1[j]);
          }
          if (ans[0].size() > n / 2) continue;
          for (int j = 0; j < ptt.size(); ++j) {
            if (ans[0].size() >= n / 2) break;
            ans[0].push_back(c1[j]);
          }
          if (ans[0].size() != n / 2) continue;
          return 1;
        }
      }
    } else {
      if (s1 + c1.size() > n / 2 || s2 + a1.size() > n / 2) continue;
      ans[0].clear();
      for (int j = 0; j < s1; ++j) {
        ans[0].push_back(pt[j]);
      }
      for (int j = 0; j < c1.size(); ++j) {
        ans[0].push_back(c1[j]);
      }
      for (int j = 0; j < ptt.size(); ++j) {
        if (ans[0].size() >= n / 2) break;
        ans[0].push_back(ptt[j]);
      }
      return 1;
    }
  }
  return 0;
}
int main() {
  scanf("%d", &n);
  string c;
  string a;
  cin >> a >> c;
  for (int i = 0; i < n; ++i) {
    if (c[i] == '1' && a[i] == '1') {
      pt.push_back(i);
    } else {
      if (c[i] == '1') {
        c1.push_back(i);
      } else if (a[i] == '1') {
        a1.push_back(i);
      } else {
        ptt.push_back(i);
      }
    }
  }
  if (sol()) {
    for (int x : ans[0]) {
      printf("%d ", x + 1);
    }
    printf("\n");
  } else {
    printf("-1\n");
  }
}
