K번째 부분 문자열

S의 모든 부분 문자열을 사전순으로 정렬한 뒤 K번째 부분 문자열을 출력하고, K개보다 적으면 -1을 출력한다.

보통7문자열정렬이분 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

문자열 SS의 부분 문자열은 SS에서 연속한 구간을 하나 잘라낸 문자열이다. 잘라낸 구간이 다르면 내용이 같아도 서로 다른 부분 문자열로 세므로, 길이가 nn인 문자열의 부분 문자열은 모두 n(n+1)2\frac{n(n+1)}{2}개이다.

SS의 모든 부분 문자열을 사전 순으로 정렬했을 때 KK번째에 오는 문자열을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 문자열 SS가 주어진다. SS는 알파벳 소문자로만 이루어져 있고, 길이는 11 이상 100,000100{,}000 이하이다.

둘째 줄에 정수 KK가 주어진다. (1K100,0001 \le K \le 100{,}000)

출력

첫째 줄에 SS의 부분 문자열 중 사전 순으로 KK번째인 것을 출력한다. 부분 문자열의 개수가 KK보다 작으면 1-1을 출력한다.