#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
int N, X, Y, A[(222222)], H[(222222)], a, o[(222222)];
bool cp(int a, int b) { return A[a] ^ A[b] ? A[a] > A[b] : a < b; }
bool cd(int a, int b) { return A[a] ^ A[b] ? A[a] > A[b] : a > b; }
int main(void) {
  scanf("%d%d%d", &N, &X, &Y), ga(N, A), iota(H, H + N, 0), sort(H, H + N, cp);
  if (Y < X) sort(H, H + N, cd);
  if (X < Y)
    for (int i(0); i < N; i++) o[H[i]] = i < X ? 1 : 2;
  else if (Y < X)
    for (int i(0); i < N; i++) o[H[i]] = i < Y ? 2 : 1;
  else
    for (int i(0); i < N; i++) o[i] = i < X ? 1 : 2;
  for (int i(0); i < N; i++) printf("%d ", o[i]);
  puts("");
  return 0;
}
