#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n;
  cin >> n;
  string s1, s2;
  cin >> s1 >> s2;
  int f1 = 0, f2 = 0, f3 = 0, f4 = 0;
  vector<int> f[4];
  for (int i = 0; i < s1.length(); i++) {
    if (s1[i] == '1') {
      if (s2[i] == '1') {
        f1++;
        f[0].push_back(i);
      } else {
        f2++;
        f[1].push_back(i);
      }
    } else {
      if (s2[i] == '1') {
        f3++;
        f[2].push_back(i);
      } else {
        f4++;
        f[3].push_back(i);
      }
    }
  }
  vector<int> ans;
  int a11 = -1, a22 = -1, a33 = -1;
  vector<pair<int, pair<int, int> > > vv;
  int sum = -1;
  for (int i = 0; i <= f3; i++) {
    for (int j = 0; j <= f2; j++) {
      if (((f1 + f3) - (i + j)) % 2 == 0 &&
          (i + j + (f1 + f3 - (i + j)) / 2 <= n / 2) &&
          ((f1 + f3 - (i + j)) / 2) <= (f[0].size())) {
        if (sum < (i + j + (f1 + f3 - (i + j)) / 2)) {
          a11 = i;
          a22 = j;
          a33 = ((f1 + f3) - (i + j)) / 2;
          sum = (i + j + (f1 + f3 - (i + j)) / 2);
        }
      }
    }
  }
  if (a11 == -1 || a11 > f[2].size() || a22 > f[1].size() ||
      a33 > f[0].size()) {
    cout << "-1\n";
  } else {
    for (int i = 0; i < a11; i++) {
      ans.push_back(f[2].back());
      f[2].pop_back();
    }
    for (int i = 0; i < a22; i++) {
      ans.push_back(f[1].back());
      f[1].pop_back();
    }
    for (int i = 0; i < a33; i++) {
      ans.push_back(f[0].back());
      f[0].pop_back();
    }
    while (!f[3].empty() && ans.size() < n / 2) {
      ans.push_back(f[3].back());
      f[3].pop_back();
    }
    if (ans.size() != n / 2) {
      cout << "-1\n";
    } else {
      for (auto x : ans) {
        cout << x + 1 << " ";
      }
      cout << "\n";
    }
  }
}
