#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, v, k1 = 0, k2 = 0;
  int how_many1 = 0;
  vector<int> molt[99 + 1];
  scanf("%d", &n);
  short b[n << 1];
  for (int i = 0; i < (n << 1); i++) {
    scanf("%d", &v);
    molt[v].push_back(i);
  }
  for (int v = 10; v <= 99; v++)
    if (molt[v].size() >= 2) {
      k1++;
      k2++;
      how_many1++;
      b[molt[v][0]] = 1;
      b[molt[v][1]] = 2;
    }
  for (int v = 10; v <= 99; v++)
    if (molt[v].size() == 1) {
      if (k1 <= k2) {
        k1++;
        how_many1++;
        b[molt[v][0]] = 1;
      } else {
        k2++;
        b[molt[v][0]] = 2;
      }
    }
  for (int v = 10; v <= 99; v++) {
    for (int i = 2; i < molt[v].size(); i++) {
      if (how_many1 < n) {
        b[molt[v][i]] = 1;
        how_many1++;
      } else {
        b[molt[v][i]] = 2;
      }
    }
  }
  printf("%d\n", k1 * k2);
  for (int i = 0; i < 2 * n; i++) printf("%d ", b[i]);
  return 0;
}
