#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long n;
  cin >> n;
  string s1, s2;
  cin >> s1 >> s2;
  long long a = 0, b = 0, c = 0, d = 0;
  vector<long long> a1, b1, c1, d1;
  for (long long i = 0; i < n; ++i) {
    if (s1[i] == '1' && s2[i] == '1') {
      d++;
      d1.push_back(i + 1);
    }
    if (s1[i] == '1' && s2[i] == '0') {
      c++;
      c1.push_back(i + 1);
    }
    if (s1[i] == '0' && s2[i] == '1') {
      b++;
      b1.push_back(i + 1);
    }
    if (s1[i] == '0' && s2[i] == '0') {
      a++;
      a1.push_back(i + 1);
    }
  }
  long long x;
  for (long long i = 0; i <= min(b, n / 2); ++i) {
    for (long long j = 0; j <= min(c, n / 2 - i); ++j) {
      if (j < b - i) {
        x = b - i - j;
        if (x > d || (d - x) % 2) continue;
        x = x + (d - x) / 2;
        if (x + i + j > n / 2 || (n / 2 - (x + i + j)) > a) continue;
      } else {
        x = j - b + i;
        if (x > d || (d - x) % 2) continue;
        x = (d - x) / 2;
        if (x + i + j > n / 2 || (n / 2 - (x + i + j)) > a) continue;
      }
      for (long long u = 0; u < i; ++u) {
        cout << b1[u] << " ";
      }
      for (long long u = 0; u < j; ++u) {
        cout << c1[u] << " ";
      }
      for (long long u = 0; u < x; ++u) {
        cout << d1[u] << " ";
      }
      for (long long u = 0; u < n / 2 - i - j - x; ++u) {
        cout << a1[u] << " ";
      }
      return 0;
    }
  }
  cout << -1;
}
