#include <bits/stdc++.h>
using namespace std;
const int MX = (1 << 20);
priority_queue<pair<int, int> > Q[MX];
string str;
int n, K;
int main() {
  cin >> str >> K;
  n = str.size();
  int cur = 0;
  for (int j = 0; j < n; j++) Q[0].push(make_pair('z' - str[j], j));
  while (1) {
    while (cur > -1 && Q[cur].empty()) cur--;
    if (cur == -1) break;
    int let = Q[cur].top().first;
    while (!Q[cur].empty() && Q[cur].top().first == let) {
      int pos = Q[cur].top().second;
      if (pos + cur + 1 < n)
        Q[cur + 1].push(make_pair('z' - str[pos + cur + 1], pos));
      K--;
      if (K == 0) {
        cout << str.substr(pos, cur + 1);
        return 0;
      }
      Q[cur].pop();
    }
    cur++;
  }
  puts("No such line.");
}
