void main(){
  import std.stdio, std.string, std.conv, std.algorithm;

  auto s=readln.chomp.to!(char[]);
  int k; rd(k);

  import std.array;

  int n=s.length.to!(int);
  bool[string] m;
  for(int len=1; len<=min(10, n); len++){
    for(int i=0; i+len<=n; i++){
      m[s[i..(i+len)].to!(string)]=true;
    }
  }
  auto arr=m.keys.array;
  sort(arr);
  bool[string] h;
  foreach(t; arr){
    h[t]=true;
    if(h.length==k){
      writeln(t);
      break;
    }
  }
}

void rd(T...)(ref T x){
  import std.stdio, std.string, std.conv;
  auto l=readln.split;
  assert(l.length==x.length);
  foreach(i, ref e; x) e=l[i].to!(typeof(e));
}