#include <bits/stdc++.h>
using namespace std;
struct Chars {
  int n;
  char c;
  Chars(char ac) : n(1), c(ac) {}
  Chars() : n(0) {}
  bool operator<(const Chars& a) const {
    if (n != a.n) return n < a.n;
    return c < a.c;
  }
};
Chars chars[30];
int main(int argc, char* argv[]) {
  string s;
  int k;
  cin >> s >> k;
  if (k >= s.size()) {
    printf("%d\n", 0);
    return 0;
  }
  set<char> ss;
  for (int i = 0; i < (int)s.size(); i++) {
    chars[s[i] - 'a'].n++;
    chars[s[i] - 'a'].c = s[i];
    ss.insert(s[i]);
  }
  if (ss.size() == 1) {
    cout << 1 << endl << s << endl;
    return 0;
  }
  sort(chars, chars + 30);
  set<char> res;
  for (int i = 0; i < (int)30; i++) {
    if (chars[i].n == 0) continue;
    if (k < chars[i].n) break;
    k -= chars[i].n;
    res.insert(chars[i].c);
  }
  cout << ss.size() - res.size() << endl;
  for (int i = 0; i < (int)s.size(); i++)
    if (!res.count(s[i])) cout << s[i];
  cout << endl;
  return 0;
}
