#include <bits/stdc++.h>
int min(int x, int y) {
  if (x > y)
    return y;
  else
    return x;
}
int p[6], q[6];
int main() {
  int N, A, B, t;
  scanf("%d%d%d", &N, &A, &B);
  int a[N];
  for (int i = 0; i < N; i++) {
    scanf("%d", &a[i]);
    p[a[i]]++;
  }
  int l = min(A, B);
  for (int i = 5; i >= 0; i--) {
    while (p[i] > q[i] && l > 0) {
      l--;
      q[i]++;
    }
  }
  for (int i = 0; i < 6; i++) p[i] -= q[i];
  int d;
  if (A < B) {
    for (int i = 0; i < N; i++) {
      if (q[a[i]] > 0) {
        q[a[i]]--;
        printf("1 ");
      } else {
        p[a[i]]--;
        printf("2 ");
      }
    }
  }
  if (A > B) {
    for (int i = 0; i < N; i++) {
      if (p[a[i]] > 0) {
        p[a[i]]--;
        printf("1 ");
      } else {
        q[a[i]]--;
        printf("2 ");
      }
    }
  }
  if (A == B) {
    for (int i = 0; i < N; i++) {
      if (i < N / 2)
        printf("1 ");
      else
        printf("2 ");
    }
  }
}
