#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, d1, d2, n, h, a[100001], o[100001], mm1, mm2, m1, m2, f;
  cin >> n >> h;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    o[i] = a[i];
  }
  sort(a, a + n);
  if (n == 2) {
    cout << "0\n2 2\n";
  } else {
    mm1 = max(a[0] + a[n - 1] + h, a[n - 1] + a[n - 2]);
    m1 = min(a[0] + a[1] + h, a[1] + a[2]);
    mm2 = a[n - 1] + a[n - 2];
    m2 = a[0] + a[1];
    d1 = mm1 - m1;
    d2 = mm2 - m2;
    if (d1 > d2) {
      cout << d2 << endl;
      for (i = 0; i < n; i++) {
        cout << "2 ";
      }
      cout << endl;
    } else {
      cout << d1 << endl;
      f = 0;
      for (i = 0; i < n; i++) {
        if (o[i] == a[0] && f == 0) {
          cout << "1 ";
          f = 1;
        } else
          cout << "2 ";
      }
      cout << endl;
    }
  }
  return 0;
}
