#include <bits/stdc++.h>
using namespace std;
int read() {
  int ans = 0, flag = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') flag = -flag;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    ans = ans * 10 + ch - '0';
    ch = getchar();
  }
  return ans * flag;
}
const int N = 5010;
int n;
char a[N], b[N];
int num[5];
int tag[N];
int now;
int t[5];
int main() {
  n = read();
  scanf("%s", a);
  scanf("%s", b);
  for (int i = 0; i < n; ++i) {
    if (a[i] == '0' && b[i] == '0') tag[i] = 0;
    if (a[i] == '0' && b[i] == '1') tag[i] = 1;
    if (a[i] == '1' && b[i] == '0') tag[i] = 2;
    if (a[i] == '1' && b[i] == '1') tag[i] = 3;
    ++num[tag[i]];
    if (a[i] == '1') ++now;
  }
  for (int i = 0; i <= min(num[3], n / 2); ++i) {
    t[3] = i;
    t[1] = now - i * 2;
    t[0] = n / 2 - t[3] - t[1];
    if (num[1] + num[2] >= t[1] && num[0] >= t[0] && t[0] >= 0 && t[1] >= 0) {
      for (int j = 0; j < n; ++j) {
        if (tag[j] == 0) {
          if (t[0])
            --t[0];
          else
            printf("%d ", j + 1);
        } else if (tag[j] == 1 || tag[j] == 2) {
          if (t[1])
            --t[1];
          else
            printf("%d ", j + 1);
        } else {
          if (t[3])
            --t[3];
          else
            printf("%d ", j + 1);
        }
      }
      return 0;
    }
  }
  puts("-1");
  return 0;
}
