#include <bits/stdc++.h>
using namespace std;
struct node {
  string s;
  int id;
  bool operator<(const node &b) const { return s > b.s; }
} st;
int k;
priority_queue<node> q;
char s[1 << 20];
string work() {
  while (!q.empty()) {
    st = q.top();
    q.pop();
    k--;
    if (k == 0) {
      return st.s;
    }
    if (s[st.id]) {
      st.s += s[st.id++];
      q.push(st);
    }
  }
  return "No such line.";
}
int main() {
  scanf("%s%d", s, &k);
  for (int i = 0; s[i]; i++) {
    st.s = s[i];
    st.id = i + 1;
    q.push(st);
  }
  cout << work() << endl;
  return 0;
}
