#include <bits/stdc++.h>
using namespace std;
int a[200000];
int aa[200000];
int main() {
  int i, j, n, h, bi, ma, mi, ans;
  scanf("%d%d", &n, &h);
  for (i = 0; i < n; i++) scanf("%d", &a[i]);
  if (n == 2) {
    printf("0\n");
    printf("1 1\n");
    return 0;
  }
  bi = 0;
  for (i = 1; i < n; i++)
    if (a[i] < a[bi]) bi = i;
  for (i = 0; i < n; i++) aa[i] = a[i];
  sort(aa, aa + n);
  ans = aa[n - 1] + aa[n - 2] - aa[0] - aa[1];
  if (aa[0] + aa[n - 1] + h > aa[n - 1] + aa[n - 2])
    ma = aa[0] + aa[n - 1] + h;
  else
    ma = aa[n - 1] + aa[n - 2];
  if (aa[0] + aa[1] + h < aa[1] + aa[2])
    mi = aa[0] + aa[1] + h;
  else
    mi = aa[1] + aa[2];
  if (ma - mi < ans) {
    printf("%d\n", ma - mi);
    for (i = 0; i < n; i++) {
      if (i != 0) printf(" ");
      if (i == bi)
        printf("1");
      else
        printf("2");
    }
    printf("\n");
  } else {
    printf("%d\n", ans);
    for (i = 0; i < n; i++) {
      if (i != 0) printf(" ");
      printf("1");
    }
    printf("\n");
  }
}
