#include <bits/stdc++.h>
using namespace std;
int n, a, b;
struct t {
  int n;
  int i;
};
t mas[100010];
bool sort1(const t& a, const t& b) {
  if (a.n > b.n) return true;
  if (a.n < b.n) return false;
  return a.i < b.i;
}
bool sort2(const t& a, const t& b) {
  if (a.n > b.n) return true;
  if (a.n < b.n) return false;
  return a.i > b.i;
}
int ans[100010];
int main() {
  cin >> n >> a >> b;
  for (int i = 0; i < n; i++) {
    cin >> mas[i].n;
    mas[i].i = i;
  }
  if (a < b) {
    fill(ans, ans + n, 2);
    sort(mas, mas + n, sort1);
    for (int i = 0; i < a; i++) ans[mas[i].i] = 1;
  } else {
    if (a > b) {
      fill(ans, ans + n, 1);
      sort(mas, mas + n, sort2);
      for (int i = 0; i < b; i++) ans[mas[i].i] = 2;
    } else {
      fill(ans, ans + n, 2);
      for (int i = 0; i < a; i++) ans[i] = 1;
    }
  }
  for (int i = 0; i < n; i++) printf("%d ", ans[i]);
  return 0;
}
