#include <bits/stdc++.h>
using namespace std;
int n, w;
int cost[300005][2];
struct STAR {
  int idx;
  int num;
  int cost;
  bool operator<(const STAR &rhs) const {
    return cost * (2 / num) < rhs.cost * (2 / rhs.num);
  }
};
STAR stars[600000];
int snum;
long long ans_cost;
char ans[300005];
int input() {
  int ret = scanf("%d%d", &n, &w);
  if (ret == EOF) return 0;
  for (int i = 0; i < n; ++i) {
    scanf("%d %d", &cost[i][0], &cost[i][1]);
    ans[i] = '0';
  }
  ans[n] = '\0';
  ans_cost = 0;
  snum = 0;
  return 1;
}
void output() {
  cout << ans_cost << endl;
  puts(ans);
}
void proc() {
  snum = 0;
  for (int i = 0; i < n; ++i) {
    if (cost[i][1] - cost[i][0] >= cost[i][0]) {
      stars[snum].idx = i;
      stars[snum].num = 1;
      stars[snum++].cost = cost[i][0];
      stars[snum].idx = i;
      stars[snum].num = 1;
      stars[snum++].cost = cost[i][1] - cost[i][0];
    } else {
      stars[snum].idx = i;
      stars[snum].num = 2;
      stars[snum++].cost = cost[i][1];
    }
  }
  sort(stars, stars + snum);
  int now = 0;
  int si;
  for (si = 0; si < snum && stars[si].num + now <= w; ++si) {
    now += stars[si].num;
    ans[stars[si].idx] += stars[si].num;
    ans_cost += stars[si].cost;
  }
  if (now == w) return;
  int cmin = 1 << 30;
  int imin = 0;
  int cur = 0;
  int i2 = si;
  for (int i = 0; i < n; ++i) {
    if (ans[i] == '1') {
      cur = stars[si].cost - cost[i][0];
    } else if (ans[i] == '2') {
      cur = stars[si].cost - (cost[i][1] - cost[i][0]);
    } else
      continue;
    if (cur < cmin) {
      cmin = cur;
      imin = i;
    }
  }
  int cmin2 = 1 << 30;
  int imin2 = 0;
  for (; si < snum && stars[si].num == 2; ++si) {
    cur = cost[stars[si].idx][0];
    if (cur < cmin2) {
      cmin2 = cur;
      imin2 = stars[si].idx;
    }
  }
  if (si < snum && stars[si].cost < cmin2) {
    cmin2 = stars[si].cost;
    imin2 = stars[si].idx;
  }
  if (cmin < cmin2) {
    --ans[imin];
    ans[stars[i2].idx] += 2;
    ans_cost += cmin;
  } else {
    ++ans[imin2];
    ans_cost += cmin2;
  }
}
int main(int argc, char **argv) {
  while (input()) {
    proc();
    output();
  }
  return 0;
}
