#include <bits/stdc++.h>
using namespace std;
struct Letra {
  char l;
  int cont;
  bool operator<(const Letra &aa) const { return cont < aa.cont; }
};
int n, m;
char str[100020];
Letra letras[30];
bool pode[30];
void read() {
  scanf("%s%d", str, &n);
  for (int i = 0; i < 30; i++) {
    letras[i].l = 'a' + i;
    letras[i].cont = 0;
  }
  m = 0;
  for (int i = 0; str[i]; i++) {
    letras[str[i] - 'a'].cont++;
    if (letras[str[i] - 'a'].cont == 1) m++;
  }
  sort(letras, letras + 26);
  memset(pode, true, sizeof(pode));
  for (int i = 0; i < 27; i++) {
    if (!letras[i].cont) continue;
    if (n >= letras[i].cont) {
      pode[letras[i].l - 'a'] = false;
      n -= letras[i].cont;
      m--;
    } else
      break;
  }
  printf("%d\n", m);
  for (int i = 0; str[i]; i++) {
    if (pode[str[i] - 'a']) printf("%c", str[i]);
  }
  printf("\n");
}
int main() {
  read();
  return 0;
}
