#include <bits/stdc++.h>
using namespace std;
long long int mod = 1000000007;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n;
  cin >> n;
  string s1, s2;
  cin >> s1;
  cin >> s2;
  vector<int> id[4];
  int c1 = 0, c2 = 0, c3 = 0, c4 = 0;
  for (int i = 0; i < n; i++) {
    if (s1[i] == '1' and s2[i] == '0')
      id[0].push_back(i + 1), c1++;
    else if (s1[i] == '0' and s2[i] == '1')
      id[1].push_back(i + 1), c2++;
    else if (s1[i] == '1' and s2[i] == '1')
      id[2].push_back(i + 1), c3++;
    else
      id[3].push_back(i + 1), c4++;
  }
  int no = 0;
  vector<int> an[4];
  for (int i = 0; i <= n / 2; i++) {
    int cap1 = 0, cap2 = 0;
    int oc1 = min(c1, i), oc2 = min(c2, i), oc3 = c3, oc4 = c4;
    int p1 = c1 - 1, p2 = c2 - 1, p3 = c3 - 1, p4 = c4 - 1;
    while (cap1 < i) {
      if (c1)
        c1--, an[0].push_back(id[0][p1--]);
      else if (c3)
        c3--, an[2].push_back(id[2][p3--]);
      else {
        no = 1;
        break;
      }
      cap1++;
    }
    while (cap2 < i) {
      if (c2)
        c2--;
      else if (c3)
        c3--;
      else {
        no = 1;
        break;
      }
      cap2++;
    }
    while (c1) {
      if (cap2 < n / 2) {
        cap2++, c1--;
      } else {
        no = 1;
        break;
      }
    }
    while (c2) {
      if (cap1 < n / 2) {
        cap1++, c2--, an[1].push_back(id[1][p2--]);
      } else {
        no = 1;
        break;
      }
    }
    while (c3) {
      if (cap2 < n / 2 and oc1) {
        cap2++, oc1--, c3--, an[0].pop_back(), an[2].push_back(id[2][p3--]);
      } else if (cap1 < n / 2 and oc2) {
        cap1++, oc2--, c3--, an[1].push_back(id[1][p2--]);
      } else {
        no = 1;
        break;
      }
    }
    if (!no) {
      while (cap1 < n / 2) {
        an[3].push_back(id[3][p4--]);
        cap1++;
      }
    }
    if (!no) {
      break;
    } else if (i != n / 2)
      no = 0;
    c1 = id[0].size(), c2 = id[1].size(), c3 = id[2].size(), c4 = id[3].size();
    an[0].clear(), an[1].clear(), an[2].clear(), an[3].clear();
  }
  if (no) {
    cout << "-1\n";
  } else {
    for (int x : an[0]) cout << x << " ";
    for (int x : an[1]) cout << x << " ";
    for (int x : an[2]) cout << x << " ";
    for (int x : an[3]) cout << x << " ";
    cout << "\n";
  }
  return 0;
}
