func_code_string: #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. );   }   