#include <bits/stdc++.h>
using namespace std;
struct Node {
  string s;
  int begin;
  bool operator<(const Node& n) const { return s > n.s; }
};
int main() {
  int k;
  string s;
  cin >> s >> k;
  Node n;
  priority_queue<Node> q;
  for (int i = 0; i < s.length(); i++) {
    n.s.clear();
    n.s += s[i];
    n.begin = i;
    q.push(n);
  }
  string ans = "No such line.";
  while (!q.empty() && k--) {
    n = q.top();
    q.pop();
    if (k == 0) ans = n.s;
    if (n.begin + 1 < s.length()) {
      n.s += s[n.begin + 1];
      n.begin += 1;
      q.push(n);
    }
  }
  cout << ans << endl;
  return 0;
}
